コード例 #1
0
        /// <summary>
        /// データグリッドビューをクリックした際に呼び出される。
        /// ボタンのクリックイベントがないため、このイベントで代用している。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dgv_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (this.dgv.SelectedCells.Count != 1)
            {
                return;
            }
            switch (this.dgv.SelectedCells[0].OwningColumn.Name)
            {
            case DgvCol.DELETE:
                if (MessageBox.Show("この行を削除しますか?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                {
                    var sequence = int.Parse((string)this.dgv.Rows[this.dgv.SelectedCells[0].OwningRow.Index].Cells[DgvCol.SEQUENCE].Value);
                    CurrentSettingFile.RemoveAt(sequence);
                    this.dgv.Rows.RemoveAt(this.dgv.SelectedCells[0].OwningRow.Index);
                    EditedFlag = true;
                }
                break;

            case DgvCol.KEYBOARD_CANCEL: {
                this.dgv.RefreshEdit();
                break;
            }

            default:
                return;
            }
        }
コード例 #2
0
        /// <summary>
        /// 下へボタンクリックイベント
        /// 選択されている設定行を1行下に移動する
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDownRow_Click(object sender, EventArgs e)
        {
            var rowIndex = this.dgv.SelectedCells[0].OwningRow.Index;

            if (rowIndex < this.dgv.Rows.Count - 1)
            {
                var sequence = int.Parse((string)this.dgv.Rows[this.dgv.SelectedCells[0].OwningRow.Index].Cells[DgvCol.SEQUENCE].Value);
                CurrentSettingFile.DownAt(sequence);
                var row = this.dgv.Rows[rowIndex];
                this.dgv.Rows.RemoveAt(rowIndex);
                this.dgv.Rows.Insert(rowIndex + 1, row);
                this.dgv.ClearSelection();
                this.dgv.Rows[rowIndex + 1].Selected = true;
                EditedFlag = true;
            }
        }
コード例 #3
0
        /// <summary>
        /// データグリッドビューのセルのクリック時に呼ばれる
        /// チェックボックスが小さくて押しづらいためこのイベントで代用する。
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dgv_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (this.dgv.SelectedCells.Count != 1)
            {
                return;
            }
            switch (this.dgv.SelectedCells[0].OwningColumn.Name)
            {
            case DgvCol.KEYBOARD_CANCEL:
                var dgvcbc = (DataGridViewCheckBoxCell)this.dgv.SelectedCells[0];
                dgvcbc.Value = dgvcbc.Value == dgvcbc.TrueValue ? dgvcbc.FalseValue : dgvcbc.TrueValue;
                var sequence = int.Parse((string)this.dgv.Rows[this.dgv.SelectedCells[0].OwningRow.Index].Cells[DgvCol.SEQUENCE].Value);
                CurrentSettingFile.ChangeKeyboardCancel(sequence, (bool)dgvcbc.Value);
                this.dgv.RefreshEdit();
                break;

            default:
                return;
            }
        }
コード例 #4
0
        /// <summary>
        /// 設定の1行追加
        /// インスタンスを生成し、Massに追加する
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAddRow_Click(object sender, EventArgs e)
        {
            var acf = new AddCommandForm();

            acf.ShowDialog();
            if (acf.result == AddCommandForm.Result.OK)
            {
                string mode;
                int    sequence;
                switch (acf.type)
                {
                case AddCommandForm.Type.COMMAND:
                    sequence = CurrentSettingFile.Add(new Command());
                    mode     = Mode.COMMAND;
                    break;

                case AddCommandForm.Type.BARRAGE:
                    sequence = CurrentSettingFile.Add(new Barrage());
                    mode     = Mode.BARRAGE;
                    break;

                case AddCommandForm.Type.TOGGLE:
                    sequence = CurrentSettingFile.Add(new Toggle());
                    mode     = Mode.TOGGLE;
                    break;

                case AddCommandForm.Type.MOUSE:
                    sequence = CurrentSettingFile.Add(new Behavior.Action.Mouse());
                    mode     = Mode.MOUSE;
                    break;

                default:
                    return;
                }
                var row = this.dgv.Rows.Add();
                this.dgv.Rows[row].Cells[DgvCol.SEQUENCE].Value = sequence.ToString();
                this.dgv.Rows[row].Cells[DgvCol.MODE].Value     = mode;
                this.dgv.Rows[row].Cells[DgvCol.PRIORITY].Value = "0";
            }
        }