更改禁用组合框的前景色

时间:2009-04-21 06:40:32

标签: c# .net winforms combobox colors

我需要在禁用的组合框中使用黑色前景色。有可能吗?

5 个答案:

答案 0 :(得分:5)

我过去一直在搜索有关此内容的信息,据我所知,最佳解决方案是将组合框的 DrawMode 更改为 OwnerDrawFixed OwnerDrawVariable 然后在组合框的 DrawItem 事件中编写您自己的绘图代码。

我发现这个article更详细地介绍了它。希望它有所帮助。

答案 1 :(得分:4)

我过去用于文本框的“hack”是启用控件,但捕获“OnFocus”事件并立即将焦点设置为表单上的其他对象,最好是标签,因为它没有t表示被选中。我认为这也适用于组合框。

答案 2 :(得分:-1)

不确定您的应用是Winforms还是WPF。下面给出的代码适用于WPF应用程序。

    combo1.Items.Add("Item 1");
    combo1.Items.Add("Item 2");
    combo1.SelectedIndex = 0;
    combo1.Foreground = Brushes.Black;


在我的XAML中,我添加了一个组合框并将其IsEnabled属性设置为“false”,然后在后面的代码中我使用了上面给出的代码,它确实有效。

HTH

答案 3 :(得分:-2)

您需要做的就是说

combobox1.ForeColor = Color.FromName("Black");

如果控件被禁用无关紧要,它应该改变前景色。

答案 4 :(得分:-3)

comboBox1.BackColor = Color.Black;