更改ListView标题的颜色?

3
我该如何更改ListView的标题颜色?如果您知道如何操作,请提供代码示例。
 private System.Windows.Forms.ListView lvFiles;

1
这可能会有所帮助:https://dev59.com/Ml_Va4cB1Zd3GeqPQii4 - Parrish Husband
1个回答

6

让我们来看一个代码示例,但是这并不是个好问题要求我们去做。

ListView lvFiles= new ListView();
public Form1()
{
   InitializeComponent();

   lvFiles.View = View.Details;
   lvFiles.OwnerDraw = true;
   lvFiles.Size = new Size(200, 100);

   lvFiles.DrawColumnHeader += new DrawListViewColumnHeaderEventHandler(lv_DrawColumn Header);
   lvFiles.DrawSubItem += new DrawListViewSubItemEventHandler(lv_DrawSubItem);

   lv.Columns.Add("Col1");
   lv.Columns.Add("Col1");
   lv.Columns.Add("Col1");

   this.Controls.Add(lv);

   lv.Items.Add(new ListViewItem(new string[] { "One", "Two","Three" }));
   lv.Items.Add(new ListViewItem(new string[] { "One", "Two","Three" }));
   lv.Items.Add(new ListViewItem(new string[] { "One", "Two","Three" }));
}

void lv_DrawSubItem(object sender, DrawListViewSubItemEventArgse)
{
   if ((e.ItemState & ListViewItemStates.Focused) 0)
   {
      e.Graphics.FillRectangle(SystemBrushes.Highlight,e.Bounds);
      e.Graphics.DrawString(e.Item.Text, lv.Font,SystemBrushes.HighlightText, e.Bounds);
   }
   else
   {
      e.DrawBackground();
      e.DrawText();
   }
}

void lv_DrawColumnHeader(object sender,DrawListViewColumnHeaderEventArgs e)
{
   e.Graphics.FillRectangle(Brushes.GreenYellow, e.Bounds);
   e.DrawText();
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接