我想要一个“仅限选择”ComboBox
,它提供了供用户选择的项目列表。应在ComboBox
控件的文本部分中禁用键入。
我最初的谷歌搜索引发了一个过于复杂,误导的建议,以捕获KeyPress
事件。
答案 0 :(得分:359)
要使ComboBox的文本部分不可编辑,请将DropDownStyle属性设置为“DropDownList”。 ComboBox现在基本上只为用户选择。您可以在Visual Studio设计器中执行此操作,也可以在C#中执行此操作:
stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;
链接到MSDN上ComboBox DropDownStyle property的文档。
答案 1 :(得分:61)
要添加Visual Studio GUI参考,您可以在所选ComboBox的属性下找到DropDownStyle
选项:
这将自动将第一个答案中提到的行添加到Form.Designer.cs InitializeComponent()
中,如下所示:
this.comboBoxBatch.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
答案 2 :(得分:30)
继续使用ComboBox并从属性窗口中搜索DropDropStyle属性,然后选择 DropDownList 。
答案 3 :(得分:2)
COMBOBOXID.DropDownStyle = ComboBoxStyle.DropDownList;
答案 4 :(得分:1)
要在选择后继续在输入中显示数据,请执行以下操作:
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;
}
答案 5 :(得分:0)
对于 winforms .NET 将 DropDownStyle 从 Combobox 属性更改为 DropDownList