【发布时间】:2015-11-22 19:53:40
【问题描述】:
我有以下方法为列表视图的列标题设置背景颜色和字体,但它不起作用。有人可以帮帮我吗?
private void listView1_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
{
using (StringFormat sf = new StringFormat())
{
// Store the column text alignment, letting it default
// to Left if it has not been set to Center or Right.
switch (e.Header.TextAlign)
{
case HorizontalAlignment.Center:
sf.Alignment = StringAlignment.Center;
break;
case HorizontalAlignment.Right:
sf.Alignment = StringAlignment.Far;
break;
}
// Draw the standard header background.
e.DrawBackground();
// Draw the header text.
using (Font headerFont = new Font("Helvetica", 25, FontStyle.Bold)) //Font size!!!!
{
e.Graphics.DrawString(e.Header.Text, headerFont, Brushes.Black, e.Bounds, sf);
}
}
return;
}
我是否使用这种方法都没有关系。它保持不变。没有什么变化。 是不是因为列表视图的属性?
【问题讨论】:
-
不工作还不够!请解释/描述问题!!如果是的话,还要标记 Winforms!
-
你设置
OwnerDraw = true;??? -
谢谢哥们。 “OwnerDraw = true”修复了它。
-
但这一次,列表视图变成了空的。它必须包含我的列表视图项??
-
大声笑。确实。您需要添加其他两个事件,请参阅我的答案..