2017-03-02 67 views
0

我有一個comboxbox設置爲dropdownlist。我希望盒子有一個與灰色相反的白色背景,所以我將DrawMode設置爲OwnerDrawFixed。
使用該設置組合框的樣式正確,但列表現在在下拉列表中爲空。 前景色設置爲黑色,這是什麼原因造成的?windows form combobox drawmode empty list

+3

好'DrawMode.OwnerDrawFixed'表示_you_想繪製項目。可以訂閱'DrawItem'事件並繪製自己或找到另一種設置正確顏色的方法。設置'DrawMode'對我來說似乎是錯誤的,只能調整顏色。但我不能說,因爲你不顯示或告訴你需要改變外觀的哪些部分以「匹配其他方框的顏色」。 –

+0

@RenéVogt是對的。你可以找到如何繪製項目的例子,例如[here](https://www.codeproject.com/Articles/1767/Implementing-an-OwnerDrawn-ComboBox) – Pikoh

回答

0

您需要繪製這個自己則:

listBox.DrawMode = DrawMode.OwnerDrawFixed; 
listBox.DrawItem += new DrawItemEventHandler(listBoxEvent); 

private void listBoxEvent(object sender, 
System.Windows.Forms.DrawItemEventArgs e) 
{ 
    // Draw the background of the ListBox control for each item. 
    e.DrawBackground(); 
} 

這是最小的。