ComboBox
ユーザーが選択できるアイテムのリストを提供する「選択のみ」が必要です。コントロールのテキスト部分では、入力を無効にする必要がありますComboBox
。
KeyPress
これを最初にグーグルで調べたところ、イベントをキャプチャするための非常に複雑で見当違いの提案が見つかりました。
ComboBox のテキスト部分を編集不可にするには、DropDownStyle プロパティを "DropDownList" に設定します。ComboBox は、ユーザーにとって基本的に選択専用になりました。これは、Visual Studio デザイナーまたは C# で次のように行うことができます。
stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;
MSDNのComboBox DropDownStyle プロパティのドキュメントへのリンク。
Visual Studio GUI 参照を追加するにDropDownStyle
は、選択した ComboBox の [プロパティ] の下にオプションがあります。
次のように、最初の回答に記載されている行を Form.Designer.cs に自動的に追加しますInitializeComponent()
。
this.comboBoxBatch.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
ComboBoxにとどまり、プロパティウィンドウからDropDropStyleプロパティを検索して、DropDownListを選択します。
COMBOBOXID.DropDownStyle = ComboBoxStyle.DropDownList;
選択後に入力にデータを表示し続けるには、次のようにします。
VB.NET
Private Sub ComboBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles ComboBox1.KeyPress
e.Handled = True
End Sub
C#
Private void ComboBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}