winform checkedlistbox 设置行颜色
Posted lucika
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform checkedlistbox 设置行颜色相关的知识,希望对你有一定的参考价值。
重写OnDrawItem事件
public class ColorCodedCheckedListBox : CheckedListBox{ protected override void OnDrawItem(DrawItemEventArgs e) { base.OnDrawItem(e); } }
自定义时,需要重新声明DrawItemEventArgs对象,然后调用base.OndrawItem方法。
DrawItemEventArgs e2 = new DrawItemEventArgs(e.Graphics, e.Font, new Rectangle(e.Bounds.Location, e.Bounds.Size),
e.Index, (e.State & DrawItemState.Focus) == DrawItemState.Focus ? DrawItemState.Focus : DrawItemState.None, Color.Orange, this.BackColor);
如果想根据Item内容绘制不同样式的Item时,只需要在该事件中访问e.Index即可。
protected override void OnDrawItem(DrawItemEventArgs e) { if(e.Index%2==0) { DrawItemEventArgs e2 = new DrawItemEventArgs(e.Graphics, e.Font,
new Rectangle(e.Bounds.Location, e.Bounds.Size),
e.Index, (e.State & DrawItemState.Focus) == DrawItemState.Focus ? DrawItemState.Focus : DrawItemState.None, Color.Orange, this.BackColor); base.OnDrawItem(e2); } else base.OnDrawItem(e); }
以上是关于winform checkedlistbox 设置行颜色的主要内容,如果未能解决你的问题,请参考以下文章
winform checkedlistbox 把选中项的值附给textbox控件,只限止选中(勾选的)其中6项
C# Winform中 选中DatagridView控件中某行如何将该行某个字段(1,2,3,4,)的值绑定CheckedListBox控件的数