先說背景顏色問題怎么處理。
C#.Net WinForm中如果設置ComboBox的DropDownStyle為DropDownList,控件背景色會變成灰色,並且這個時候ComboBox控件的BackColor背景色屬性則不會起作用,用戶體驗不好,可能以為是不能點擊的,在不引用第三方控件庫,和不重繪控件的情況下,我們可以修改下ComboBox的FlatStyle屬性使用戶體驗提升。
並且FlatStyle屬性修改后可以設置BackColor屬性
微軟的小BUG是
先設置DropDownStyle屬性,后設置FlatStyle屬性
和
先設置FlatStyle屬性,后設置DropDownStyle屬性
產生的效果是不一樣的,如圖所示。
本人也是查詢資料修改FlatStyle屬性解決背景色問題,結果發現修改后控件好丑呀,外圍一圈白,內部一片灰色,這個時候設置BackColor背景色屬性只會改變外圈的顏色,好像多了個邊框似的,完全沒有觀感,本來都想放棄這種方法,但是后面發現實際運行時的界面與預覽時完全不一樣。猜想是VS設計時的繪制順序和實際運行時的繪制順序不一致導致。有反饋途徑的園友可以給微軟反饋試試。
下圖中上半部分為VisualStudio預覽界面,下部分為實際運行效果