WinForms中的Readonly ComboBox

我正在使用Designer和WinForms在C#,Visual Studio 2008中编写GUI。 我有一个ComboBox控件,我希望它只允许从提供的选项中进行选择而不接受用户输入的字符串。 它似乎没有ReadOnly属性,禁用它会阻碍控件的可读性(以及禁止用户选择)。

将DropDownStyle设置为“DropDownList”

将ComboBox.DropDownStyle属性设置为ComboBoxStyle.DropDownList。

另一种简单的方法。

private void combobox1_KeyPress(object sender, KeyPressEventArgs e) { e.Handled = true; } 

使用类似于以下内容的代码来设置允许的选项,并仅设置这些选项。

 comboBox1.DropDownStyle = ComboBoxStyle.DropDownList; comboBox1.Items.AddRange(new object[] { "One", "Two", "Three", "Four"}); 

尝试使用DropDownListbox

我的要求:一旦用户通过combobox输入,他们就无法在提交之前更改该值。 他们只能读取该值。

根据我的要求,我做了以下事情。

1)通过combobox从用户获取输入。
2)将combobox的值复制到文本框(只读且不可见)。
3)假combobox的可见性。
4)真实只读文本框的可见性。

用事件做这件事。