如何在Windows窗體中的listbox
中選擇某些東西時,改變那種難看的藍色?我所能找到的所有解決方案都包括重新創建整個控件,或者僅使用WPF。在WinForms中有沒有辦法做到這一點?在Winforms中更改ListBox的「選定」顏色?
3
A
回答
10
設置你的ListBox DrawMode
到OwnerDrawFixed
和訂閱DrawItem
事件:
private void listBox_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawBackground();
Graphics g = e.Graphics;
Brush brush = ((e.State & DrawItemState.Selected) == DrawItemState.Selected) ?
Brushes.Red : new SolidBrush(e.BackColor);
g.FillRectangle(brush, e.Bounds);
e.Graphics.DrawString(listBox.Items[e.Index].ToString(), e.Font,
new SolidBrush(e.ForeColor), e.Bounds, StringFormat.GenericDefault);
e.DrawFocusRectangle();
}
您可以通過檢查事件參數的e.State
屬性來確定繪圖項目的狀態。如果狀態爲Selected
,則使用您喜歡的任何筆刷(例如紅色)填充項目線。
4
編輯之前。(他會問到ListView控件不是列表框)
ObjectListView:
ListView1.UseCustomSelectionColors = true;
ListView1.HighlightBackgroundColor = Color.Red; // for example :)
ListView1.UnfocusedHighlightBackgroundColor = Color.Red;
的ListView:
myitem.BackColor = Color.Red;
相關問題
- 1. 在ListBox中更改選擇的顏色更改
- 2. 我們可以更改ListBox的選定項目顏色嗎?
- 3. 更改WinForms RichTextBox中文本的顏色
- 4. ListBox項目(winforms)的背景顏色
- 5. 在綁定時更改ListBox的特定項背景顏色
- 6. 更改WP7上Listbox的顏色屬性
- 7. winform listbox drawitem更改子串顏色
- 8. wpf listbox複選框更改顏色時檢查或選擇
- 9. 如何更改WinForms按鈕顏色?
- 10. 在iOS 10中更改UITabBarItem的選定色調顏色
- 11. 更改選定的顏色列表框
- 12. NavigationView(更改選定項目的顏色)
- 13. 如何更改選定列的顏色?
- 14. Devexpress gridcontrol更改選定的行顏色
- 15. 更改選定文本的顏色Javascript
- 16. 如何更改選定的ListItem顏色
- 17. 如何更改ListBox選擇背景顏色?
- 18. 通過顏色選項更改顏色
- 19. 如何更改選定項的背景色在ListBox編程?
- 20. 更改WinForms組合框的選擇顏色
- 21. 根據選定的顏色更改顏色
- 22. 在NatTable中更改所選行顏色
- 23. 更改WinForms的ListView選定的和未聚焦的高亮顏色
- 24. Android更改複選框選中顏色
- 25. 如何在懸停時更改ListBox項目的背景顏色?
- 26. 如何確定winforms中給定顏色的禁用顏色?
- 27. 在Android中更改Listview中選定項目的文本顏色
- 28. 如何更改選定行的顏色在TDBGrid中在delphi
- 29. 如何在Winforms中更改選項卡控件的背景顏色?
- 30. Listbox的改變顏色變化
+1。有趣的方法。出於某種原因,我看到這些物品略微偏向預期矩形的底部。可以將我的自定義dpi設置爲125%嗎? – Neolisk
我和Neolisk有同樣的問題。 +1 tho –
通過將「listBox」更改爲((ListBox)sender),可以將其用於多個列表框。也就是說,此方法的發件人是需要繪製項目的列表框。 – JohnT