如何设置ListView控件中的列头的颜色!

可能有很多人感觉ListView默认的列头的背景太单调,缺乏个性,想变的列头的背景色!

实际上可以使用ListViewDrawColumnHeader事件自己画背景色,注意仅当 OwnerDraw 属性设置为 true View 属性设置为 View. Details 时才引发此事件!不多说了,大家看代码,过程很简单:


private void listView1_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)

{

e.Graphics.FillRectangle(Brushes.Red, e.Bounds); //采用特定颜色绘制标题列,这里我用的红色

e.DrawText(); //采用默认方式绘制标题文本

}

实际上Item和SubItem也可以自己来画外观的,使用DrawItem和DrawSubItem事件就可以了:
private void listView1_DrawItem(object sender, DrawListViewItemEventArgs e)

{


e.Graphics.FillRectangle(Brushes.Red, e.Bounds); //采用特定颜色绘制标题列,这里我用的红色

e.DrawText(); //采用默认方式绘制标题文本
}
private void listView1_DrawSubItem(object sender, DrawListViewSubItemEventArgs e)

{


e.Graphics.FillRectangle(Brushes.Red, e.Bounds); //采用特定颜色绘制标题列,这里我用的红色

e.DrawText(); //采用默认方式绘制标题文本
}

实际上还可以实现其他的效果,大家可以探索一下!
也希望大家多多指教!


posted on 2009-05-22 09:21  周雪峰  阅读(3006)  评论(0编辑  收藏  举报