我正在使用ListBox(来自DevExpress)。高亮颜色为浅橙色(?),如图所示。如何将其更改为蓝色或其他内容?
答案 0 :(得分:3)
参考:DevExpress Support Thread - Change FocusedColor in ListBox
要获得所需的结果,请处理DrawItem事件,并在此事件处理程序中设置e.Appearance
以获得所需的结果。
private void listBoxControl1_DrawItem(object sender, DevExpress.XtraEditors.ListBoxDrawItemEventArgs e) {
if(e.State == DrawItemState.Focus || e.State== DrawItemState.Selected) {
e.Appearance.BackColor = Color.Red;
}
}
如需更多帮助,请查看DevExpress Search results。
答案 1 :(得分:2)
您需要先删除列表框的主题。
主题会覆盖您对Appereance
属性所做的更改。
选择除“皮肤”值以外的任何内容 - 如果您需要覆盖颜色。
然后设置你想要的颜色:
this视频显示了如何对XtraGrid执行操作 - 但原则仍然可以应用于列表框。
修改强> 如果你需要改变highligt颜色 - 去掉皮肤(如图所示) 并使用DrawItem事件:
private void listBoxControl1_DrawItem(object sender, ListBoxDrawItemEventArgs e)
{
if(e.State != (DrawItemState.Focus & DrawItemState.Selected))
{
e.Appearance.BackColor = Color.Blue;
}
}
你需要设置listBox属性
this.listBoxControl1.HotTrackSelectMode = DevExpress.XtraEditors.HotTrackSelectMode.SelectItemOnClick;