如何将组合框设置为只读或用户无法在组合框中写入只能选择给定的项目?

Bad*_*adr 44 c# combobox

我在设置组合属性时遇到问题,只有用户可以从给定项目中选择值,但我无法在组合框中写入.

我怎么能在C#中这样做?

Han*_*son 108

只需更改DropDownStyleDropDownList.或者如果你想要它完全只读你可以设置Enabled = false,或者如果你不喜欢它的外观我有时有两个控件,一个只读文本框和一个组合框然后隐藏组合并显示文本框是否应该完全只读反之亦然.

  • 但请注意:只读!=禁用。 (2认同)
  • 太糟糕了,组合框无法显示默认文本,并且不能同时具有下拉列表样式。 (2认同)

Rya*_*yan 16

我想你想把名为"DropDownStyle"的设置改为"DropDownList".


小智 12

在keypress事件处理程序中:

e.Handled = true;
Run Code Online (Sandbox Code Playgroud)


小智 10

将DropDownStyle设为DropDownList

stateComboBox.DropDownStyle = ComboBoxStyle.DropDownList;
Run Code Online (Sandbox Code Playgroud)


sca*_*iin 6

解决方案是将 DropDownStyle 属性更改为 DropDownList。我会帮你的。


小智 5

尝试这个:

    private void comboBox1_KeyDown(object sender, KeyEventArgs e)
    {
        // comboBox1 is readonly
        e.SuppressKeyPress = true;
    }
Run Code Online (Sandbox Code Playgroud)