怎么改变listbox的item颜色(C#)
2010-12-16 11:14
417 查看
怎么改变listbox的item颜色(C#)
C#(1)需要先设置属性:
该事件由所有者描述的 ListBox 使用。仅当 DrawMode 属性设置为 DrawMode.OwnerDrawFixed
或 DrawMode.OwnerDrawVariable 时,才引发该事件。可以使用该事件来执行在 ListBox
中绘制项所需的任务。如果具有大小可变的项(当 DrawMode 属性设置为 DrawMode.OwnerDrawVariable
时),在绘制项前,引发 MeasureItem 事件。可以为 MeasureItem 事件创建事件处理程序,
以在 DrawItem 事件的事件处理程序中指定要绘制的项的大小。
有关处理事件的更多信息,请参见 使用事件。
(2)重写listbox的drawitem事件
private void listBox1_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e) { // Set the DrawMode property to draw fixed sized items. listBox1.DrawMode = DrawMode.OwnerDrawFixed; // Draw the background of the ListBox control for each item. e.DrawBackground(); // Define the default color of the brush as black. Brush myBrush = Brushes.Black; // Determine the color of the brush to draw each item based on the index of the item to draw. switch (e.Index) { case 0: myBrush = Brushes.Red; break; case 1: myBrush = Brushes.Orange; break; case 2: myBrush = Brushes.Purple; break; } // Draw the current item text based on the current Font and the custom brush settings. e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, myBrush,e.Bounds,StringFormat.GenericDefault); // If the ListBox has focus, draw a focus rectangle around the selected item. e.DrawFocusRectangle(); }
(3)从这个例子,我们发现在c#下面重画控件,比在vc++6.0中定义自绘方便多了
相关文章推荐
- 怎么改变listbox的item颜色(C#)
- C#中动态修改ListBox的Item的颜色的方法
- C#实现item自定义颜色的ListBox,显示日志
- C#中动态修改ListBox的Item的颜色的方法
- WPF关于改变ListBoxItem的颜色的注意事项以及如何找到ListBox中的ItemsPanel
- C# listbox鼠标选择改变改行颜色的另一种方便方法
- WPF:改变ListBoxItem和ListViewItem的颜色
- WPF:改变ListBoxItem和ListViewItem的颜色
- UIPickerView控件中自定义 及 改变当前选中的Item的字体颜色
- C#中改变ListView中ColumnHeader的颜色
- C#中随机改变字体颜色
- PB 怎么动态(用代码)改变数据窗口的属性(例如窗体的字体大小,字体颜色,背景颜色)
- 怎么利用runtime来改变文本框占位文字的颜色?
- android gridview点击子选项动态改变item背景颜色
- 怎么在EXCEL中根据单元格内容来改变颜色
- C#中怎么使控件随着窗体的大小改变而改变
- c#改变winform窗体 标题的字体大小 背景 和颜色
- 在C#中控制ListBox某一行的字体颜色
- 怎么改变Extjs控件的样式(字体颜色、背景颜色等)
- c#怎么设置一个字符串中某个字符的颜色