日期:2014-05-17  浏览次数:20472 次

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);