it-swarm.cn

如何在.NET中使组合框无法编辑?

我想要一个“仅选择”ComboBox,它提供了一个供用户选择的项目列表。应在ComboBox控件的文本部分禁用键入。

我最初的谷歌搜索引发了一个过于复杂,误导的建议,以捕获KeyPress事件。

193
Cory Engebretson

若要使ComboBox的文本部分不可编辑,请将DropDownStyle属性设置为“DropDownList”。 ComboBox现在基本上只为用户选择。您可以在Visual Studio设计器中执行此操作,也可以在C#中执行此操作:

stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;

链接到 ComboBox DropDownStyle属性的文档 在MSDN上。

358
Cory Engebretson

要添加Visual Studio GUI引用,可以在所选ComboBox的Properties下找到DropDownStyle选项:

enter image description here

这将自动将第一个答案中提到的行添加到Form.Designer.cs InitializeComponent()中,如下所示:

this.comboBoxBatch.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
60
invertigo

继续使用ComboBox并从属性窗口中搜索DropDropStyle属性,然后选择 DropDownList

30
LZara

COMBOBOXID.DropDownStyle = ComboBoxStyle.DropDownList;

2
Abhishek Jaiswal

要在选择后继续在输入中显示数据,请执行以下操作:

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;
}
1
Diogo Rodrigues