C#中,ListView的⾃定义显⽰,可⽤于显⽰不同的颜⾊和字体等VS2010下的ListView控件,想⽤它来显⽰不同的颜⾊单元格,在⽹上了listView1.Items[i].UseItemStyleForSubItems = false;的⽅法,但是不知道为何不起作⽤,
所以⼜搜索了OwnDraw的⽅法,本来以为很复杂,但后来发现其实很简单,也很好⽤,具体如下:
ListView控件,Detail模式下,将OwnerDraw属性设置为True(默认是False)。注意,OwnerDarw设置为True后,不做其它任务改动的话,控件将会显⽰空⽩,是因为所有的内容都需要开发者⾃⼰去写它的显⽰代码
添加ListView的两个事件处理函数:
DrawColumnHeader事件处理函数,⽤于绘制列标头
DrawSubItem事件处理函数,⽤于绘制单元格
private void listView1_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
{
e.DrawBackground();
e.DrawText();
}
private void listView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)excel listview控件
{
e.DrawBackground();
e.DrawText();
e.DrawFocusRectangle(e.Bounds);
}
简单地在这两个函数中调⽤⼏个语句,就能够基本显⽰出其原来的内容,其中
e.DrawBackgroud()⽤于绘制原有的背景
e.DrawText()⽤于绘制原有的⽂字
e.DrawForcusRectangle()⽤于绘制被选中时的边框
在这个基础上,就可以进⾏⼀些⾃⼰的设置了,⽐如说,在DrawSubItem事件函数中添加
e.SubItem.BackColor = e.SubItem.BackColor;
就能让其显⽰定义的背景⾊,同样也可以改变字体等设置

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。