2017-05-22 106 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

但是,如果你想添加更多額外的功能,它的最好創建自己的組件,這將是一點點更復雜。