C#.Net ComboBox控件设置DropDownList之后背景颜色问题,以及发现的微软的一个BUG

先说背景颜色问题怎么处理。

C#.Net WinForm中如果设置ComboBox的DropDownStyle为DropDownList,控件背景色会变成灰色,并且这个时候ComboBox控件的BackColor背景色属性则不会起作用,用户体验不好,可能以为是不能点击的,在不引用第三方控件库,和不重绘控件的情况下,我们可以修改下ComboBox的FlatStyle属性使用户体验提升。

C#.Net ComboBox控件设置DropDownList之后背景颜色问题,以及发现的微软的一个BUG

并且FlatStyle属性修改后可以设置BackColor属性

C#.Net ComboBox控件设置DropDownList之后背景颜色问题,以及发现的微软的一个BUG

 

微软的小BUG是

先设置DropDownStyle属性,后设置FlatStyle属性

先设置FlatStyle属性,后设置DropDownStyle属性

产生的效果是不一样的,如图所示。

本人也是查询资料修改FlatStyle属性解决背景色问题,结果发现修改后控件好丑呀,外围一圈白,内部一片灰色,这个时候设置BackColor背景色属性只会改变外圈的颜色,好像多了个边框似的,完全没有观感,本来都想放弃这种方法,但是后面发现实际运行时的界面与预览时完全不一样。猜想是VS设计时的绘制顺序和实际运行时的绘制顺序不一致导致。有反馈途径的园友可以给微软反馈试试。

C#.Net ComboBox控件设置DropDownList之后背景颜色问题,以及发现的微软的一个BUG

下图中上半部分为VisualStudio预览界面,下部分为实际运行效果

C#.Net ComboBox控件设置DropDownList之后背景颜色问题,以及发现的微软的一个BUG

 

 

 

 

 

C#.Net ComboBox控件设置DropDownList之后背景颜色问题,以及发现的微软的一个BUG

上一篇:C#面向对象的概念


下一篇:Linux下进程代码调试与理解