2017-05-22 135 views
0

我试图用改变ComboBox背景:的WinForms组合框的背景

comboBox.BackColor = Color.Crimson; 

我也得到白色边框是这样的:

[Ugly borders]

+4

美在眼前。但是,你的问题是什么? – Nino

+0

你会看到一个组合框是如何制作的。它是一个复合控件,带有下拉按钮和文本框的外框。按下按钮时添加一个列表框。外框获取视觉样式主题颜色,backcolor属性仅设置文本框的颜色。考虑将窗体的背景颜色设置为“窗口”主题颜色,以免显得不那么明显。总体而言,避免针对用户的主题偏好进行工作是明智的。如果您想更好地控制UI的外观并使其UI设计与其他程序不同,请考虑WPF。 –

+0

删除该边框,你必须实现你自己的绘画方法。或者,尝试将组合框“FlatStyle”设置为“平面”或搜索自定义控件,例如[this one](https://www.codeproject.com/Articles/18172/Appearance-Customizable-ComboBox) – Nino

回答

2

你还可以设置背景色FlatStyle变平:

this.comboBox1.BackColor = Color.Red; 
this.comboBox1.FlatStyle = FlatStyle.Flat; 

还是在des igner:

The designer settings

这是结果:

result

但是,如果你想添加更多额外的功能,它的最好创建自己的组件,这将是一点点更复杂。