我如何使一个combobox在.NET中不可编辑?

我想有一个“只select” ComboBox ,提供用户select的项目列表。 在ComboBox控件的文本部分应该禁用键入。

我最初的search结果导致了一个非常复杂的错误的build议,以捕捉KeyPress事件。

若要使ComboBox的文本部分不可编辑,请将DropDownStyle属性设置为“DropDownList”。 ComboBox现在基本上只为用户select。 您可以在Visual Studiodevise器或C#中这样做:

 stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList; 

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

要添加Visual Studio GUI引用,可以在所选combobox的属性下findDropDownStyle选项:

在这里输入图像描述

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

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

留在你的ComboBox上,从属性窗口searchDropDropStyle属性,然后selectDropDownList

COMBOBOXID.DropDownStyle = ComboBoxStyle.DropDownList;

select后要继续在input中显示数据,请执行以下操作:

 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; }