C# - よく使うクラス - System.Windows.Forms - ComboBox
- 1. 概要
- 2. キー入力不可
1. 概要
一応、念のため、「ComboBox」とは、こんなの → 。
本ページは、下記のサイトを参考にさせていただきました。
「ComboBox クラス (System.Windows.Forms)」
「コンボボックス(ComboBoxコントロール)を読み取り専用にするには?[C#、VB]:.NET TIPS」
「ComboBox が上下矢印キーで項目を変更できないようにする - .NET Tips (VB.NET,C#...)」
基本的なとこは、ここでは、今んとこ、述べません・・・。
2. キー入力不可
デフォルトの状態だと、「ComboBox」の中身の値をキー入力して変更できます。
これを読み取り専用にするには、対象の「ComboBox」の「DropDownStyle」プロパティへ「DropDownList」を設定します。
しかし、これだと、「ComboBox」の選択肢の中に「a」「A」ではじまる値があったときに、「ComboBox」選択中に a を入力すると、「a」「A」ではじまる最上位の値が選択されます。
これも、禁止するには、「ComboBox」へのキー入力のイベントをキャッチして、無効化してやります。
つまり、「ComboBox」の「KeyPress」イベントに下記のメソッドを割り当てます。
private void ComboBox_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
さらに、「ComboBox」の「KeyDown」「KeyUp」イベントに下記のメソッドを割り当てます。
private void ComboBox_KeyDown(object sender, KeyEventArgs e)
{
e.Handled = true;
}
|
|