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

Posted 蒲公英C

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#.Net ComboBox控件设置DropDownList之后背景颜色问题,以及发现的微软的一个BUG相关的知识,希望对你有一定的参考价值。

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

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

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

 

微软的小BUG是

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

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

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

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

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

 

 

 

 

 

以上是关于C#.Net ComboBox控件设置DropDownList之后背景颜色问题,以及发现的微软的一个BUG的主要内容,如果未能解决你的问题,请参考以下文章

C# Combobox (Dropdownstyle = Simple) -- 如何在键入时选择项目

winForm中使用ComBoBOX控件。

下拉菜单中怎么默认选中第一个呢,代码?(C#)

WPF 怎么设置comboBox.text

delphi中的ComboBox组件的使用?

C#comboBox控件如何使用?