如何设置CheckedListBox不同项的颜色

   2024-10-07 7940
核心提示:要设置CheckedListBox中不同项的颜色,您可以使用OwnerDraw属性来自定义项的绘制,然后在绘制项时设置不同项的颜色。以下是一个

要设置CheckedListBox中不同项的颜色,您可以使用OwnerDraw属性来自定义项的绘制,然后在绘制项时设置不同项的颜色。

以下是一个示例代码,演示如何设置CheckedListBox中不同项的颜色:

private void checkedListBox1_DrawItem(object sender, DrawItemEventArgs e){    if (e.Index < 0) return;    // 获取CheckedListBox控件    CheckedListBox clb = (CheckedListBox)sender;    // 创建画刷    Brush brush = Brushes.Black;    if (clb.GetItemChecked(e.Index))    {        brush = Brushes.Red;    }    else    {        brush = Brushes.Green;    }    // 绘制项的文本    e.DrawBackground();    e.Graphics.DrawString(clb.ItEMS[e.Index].ToString(), e.Font, brush, e.Bounds, StringFormat.GenericDefault);    // 如果项被选中则绘制复选框    if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)    {        ControlPaint.DrawCheckBox(e.Graphics, e.Bounds.Left + 1, e.Bounds.Top + 1, 12, 12, ButtonState.Flat | ButtonState.Checked);    }    else    {        ControlPaint.DrawCheckBox(e.Graphics, e.Bounds.Left + 1, e.Bounds.Top + 1, 12, 12, ButtonState.Flat | ButtonState.Normal);    }    e.DrawFocusRectangle();}

在上面的代码中,我们使用了CheckedListBox的DrawItem事件来自定义项的绘制。在绘制项时,根据项的选中状态设置不同的颜色。您还可以根据需要修改绘制项的方式和颜色。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号