【问题标题】:How to change text color of an item in a ListBox如何更改列表框中项目的文本颜色
【发布时间】:2014-07-22 11:04:30
【问题描述】:

我有一个 ListBox 有几个项目,还有一个 连接 按钮。在连接按钮_Click 事件上,我将每个项目连接到服务器。

我想在单击“连接”按钮后将项目的文本颜色更改为绿色。红色表示未点击“连接”按钮的用户,反之亦然。

【问题讨论】:

标签: c# winforms listbox


【解决方案1】:

使用 ListBox 的自绘模式。这将解决你的问题。在设计模式下选择您的 ListBox 并将DrawMode 属性更改为OwnerDrawFixed。现在将处理程序附加到DrawItem 事件,然后使用Graphics 类的方法以您喜欢的任何颜色或字体绘制字符串。您需要在DrawItem 中执行的操作示例如下:

private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
{
    e.DrawBackground();
    e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), listBox1.Font, Brushes.Green, e.Bounds);
}

【讨论】:

  • 如何将处理程序附加到 DrawItem 事件,然后使用 Graphics 类的方法??
  • 双击列表框属性编辑器action标签中的事件
  • @MaxCarroll:是的。但是,那里的属性名称是OwnerDraw 而不是DrawMode。另请注意,与 ListBox 不同,ListView 为 DrawItemDrawSubItem 引发单独的事件。
猜你喜欢
  • 1970-01-01
  • 2011-10-17
  • 2016-08-23
  • 2011-11-22
  • 2011-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-31
相关资源
最近更新 更多