C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

DataGridViewコンボボックスオートコンプリート

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■83242 / inTopicNo.1)  DataGridViewコンボボックスオートコンプリート
  
□投稿者/ ヤッターマン (1回)-(2017/03/14(Tue) 16:14:29)

分類:[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;
}
}

引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ