218

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

我最初的谷歌搜索发现了一个过于复杂、误导性的建议来捕捉KeyPress事件。

4

6 回答 6

407

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

stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;

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

于 2008-09-17T17:38:14.650 回答
72

要添加 Visual Studio GUI 引用,您可以DropDownStyle在所选组合框的属性下找到选项:

在此处输入图像描述

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

this.comboBoxBatch.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
于 2014-09-23T21:44:09.270 回答
33

留在您的 ComboBox 并从属性窗口中搜索 DropDropStyle 属性,然后选择DropDownList

于 2012-09-05T16:29:10.907 回答
2
COMBOBOXID.DropDownStyle = ComboBoxStyle.DropDownList;
于 2016-03-03T08:33:32.273 回答
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;
}
于 2017-01-16T13:58:07.970 回答
0

对于 winforms .NET 将 DropDownStyle 从 Combobox 属性更改为 DropDownList

于 2021-01-13T09:11:11.670 回答