c# - 禁用 ComboBox C# 中的项目

标签 c# visual-studio-2010 combobox visual-studio-2005

我发现了一个看似简单的解决方案,可以在 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/

相关文章:

c# - 如何在c#中转换表达式

visual-studio-2010 - 当我尝试在 VS 2010 中运行 Nuint 测试时,此程序集不是使用任何已知的测试框架构建的错误

excel - VBA Excel - 使用 AddItem 时将标题添加到组合框

mysql - 组合框不使用绑定(bind)导航器记录选择器显示下一条记录

html - 属性 'nowrap' 被认为已过时。建议使用更新的构造。它是什么?

java - 在java中列出组合框中的对象

c# - Razor 页面 - 在单击包含在表单中的按钮时使用 "action"标记重定向到 url 时出现 400 错误

c# - 从条形码检索产品信息

c# - SQL 服务器 2008 R2 : How do I "pause" a clustered index while the server is being written to?

visual-studio-2010 - 在图像查看器而不是 Web 浏览器中打开 TFS 工作项附件