我发现了一个看似简单的解决方案,可以在 here 中禁用 ComboBox
中的某些项目。 .它指出:
You can disable an item in a list box or combo box by adding a single backslash to the beginning of the expression.
但是如果我写
testBox.Items.Add("\Test item");
或
testBox.Items.Add(\"Test item");
它给出了 VS2010 中的语法错误。也许这个功能在2005以后的版本中被禁用了?
如果我像这样通过 VS2010 设计器放置一个项目
\Test item
或者我写
testBox.Items.Add("\\Test item");
然后它以反斜杠出现,而不是被禁用。
因此我的问题是:这个方法是否可用,我只是不明白如何使用它,或者我必须创建一个自定义 ComboBox 来实现我的目标(在标题中)?
最佳答案
遗憾的是组合框控件是不可能的。
我建议只从组合框列表中删除该项目,而不是尝试禁用它。
使用这 3 种方式之一:
// To remove item with index 0:
comboBox1.Items.RemoveAt(0);
// To remove currently selected item:
comboBox1.Items.Remove(comboBox1.SelectedItem);
// To remove "Tokyo" item:
comboBox1.Items.Remove("Tokyo");
如果您绝对需要禁用项目,则需要创建一个自定义组合框。
关于c# - 禁用 ComboBox C# 中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12280426/