C#窗体程序如何控制ListBox中某个Item字体的颜色??
ListBox有多个item,如何控制其中几个item字体颜色?比如第3、6个item字体颜色为红色。
注:不是选中的item.
听说,通过控件重写可以实现,怎么重写呀! listbox 控件
[解决办法]
怎么这么多,一个个回。 自己判断下第几个或者什么内容用什么色
private void listBox_DrawItem(object sender, DrawItemEventArgs e)
{
Brush FontBrush = null;
ListBox listBox = sender as ListBox;
if (e.Index > -1)
{
switch (listBox.Items[e.Index].ToString())
{
case "Critical": FontBrush = Brushes.Brown; break;
case "Major": FontBrush = Brushes.Red; break;
case "Minor": FontBrush = Brushes.Orange; break;
case "Warning": FontBrush = Brushes.Yellow; break;
default: FontBrush = Brushes.Black; break;
}
e.DrawBackground();
e.Graphics.DrawString(listBox.Items[e.Index].ToString(), e.Font, FontBrush, e.Bounds);
e.DrawFocusRectangle();
}
}