先说背景颜色问题怎么处理。
C#.Net WinForm中如果设置ComboBox的DropDownStyle为DropDownList,控件背景色会变成灰色,并且这个时候ComboBox控件的BackColor背景色属性则不会起作用,用户体验不好,可能以为是不能点击的,在不引用第三方控件库,和不重绘控件的情况下,我们可以修改下ComboBox的FlatStyle属性使用户体验提升。
并且FlatStyle属性修改后可以设置BackColor属性
微软的小BUG是
先设置DropDownStyle属性,后设置FlatStyle属性
和
先设置FlatStyle属性,后设置DropDownStyle属性
产生的效果是不一样的,如图所示。
本人也是查询资料修改FlatStyle属性解决背景色问题,结果发现修改后控件好丑呀,外围一圈白,内部一片灰色,这个时候设置BackColor背景色属性只会改变外圈的颜色,好像多了个边框似的,完全没有观感,本来都想放弃这种方法,但是后面发现实际运行时的界面与预览时完全不一样。猜想是VS设计时的绘制顺序和实际运行时的绘制顺序不一致导致。有反馈途径的园友可以给微软反馈试试。
下图中上半部分为VisualStudio预览界面,下部分为实际运行效果