作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下方法为 ListView 的列标题设置背景颜色和字体,但它不起作用。任何人都可以帮助我吗?
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;
}
不管我用不用这个方法。它保持不变。没有什么变化。是因为 ListView 的属性吗?
最佳答案
您的代码看起来没问题。如果它没有执行任何操作,则您忘记将 OwnerDraw
属性设置为 true
。
这也意味着您需要为另外两个绘制事件添加代码。默认操作将执行:
private void listView1_DrawItem(object sender, DrawListViewItemEventArgs e)
{
e.DrawDefault = true;
}
private void listView1_DrawSubItem(object sender, DrawListViewItemEventArgs e)
{
e.DrawDefault = true;
}
别忘了 hook up事件;-)
关于c# - ListView DrawColumnHeader 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33859446/
我有以下方法为 ListView 的列标题设置背景颜色和字体,但它不起作用。任何人都可以帮助我吗? private void listView1_DrawColumnHeader(object sen
我是一名优秀的程序员,十分优秀!