|
分類:[C#]
現在、C# (.NET Framework 4.5) で Windowsアプリを作成しております。
質問としては、DataGridViewのコンボボックスを使っておりますが、 コンボボックスをシングルクリック後、キーボタンを押下すると、 オートコンプリート機能(?)なのか、アイテムを自動で選択してくれます。
例) ■コンボボックスのアイテム "AAA" "BBB" "CCC" とあり、[C]キーを押下すると、"CCC"が自動で選択されます。 これはよいのですが、[Ctrl]+[C]キーを押下しても、 "CCC"が自動で選択されてしまいます。
その為、[Ctrl]キーを押下した時は、オートコンプリート機能を 無効にしたいのですが、どのように実装すれば宜しいのでしょうか? どなたかご教授をお願いします。
以下に現在の実装を記載します。 ---------------------------- private void Grid_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) { DataGridViewComboBoxEditingControl comboBox = e.Control as DataGridViewComboBoxEditingControl; if (comboBox != null) { comboBox.KeyDown -= new KeyEventHandler(GridCombo_KeyDown); comboBox.KeyDown += new KeyEventHandler(GridCombo_KeyDown); } }
private void GridCombo_KeyDown(object sender, KeyEventArgs e) { DataGridViewComboBoxColumn combo = this.Grid.Columns["ID"] as DataGridViewComboBoxColumn;
if (e.Control) { // オートコンプリートを無効 combo.AutoComplete = false; ⇒これだとうまくいかない。。。。 } else { // オートコンプリートを有効 combo.AutoComplete = true; } }
|