ListView 第一行标题栏的字体大小和行高怎样设置

2025-03-17 09:39:19
推荐回答(1个)
回答1:

是要设置ListView.View == View.Details时,设置ColumnHeader的字体大小和行高么?如果不是就不用往下看了:)

粗看了一下,发现字体是可以设置的,但是行高恐怕有点困难。
ListView lv = new ListView();
lv.OwnerDraw = true;
lv.DrawColumnHeader += new DrawListViewColumnHeaderEventHandler(lv_DrawColumnHeader);
...

private void listView1_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
{
// 绘制标准背景
e.DrawBackground();

// 绘制自定义文字
using (Font headerFont = new Font("Tahoma", 10, FontStyle.Bold))
{
e.Graphics.DrawString(e.Header.Text, headerFont,
Brushes.Black, e.Bounds, new StringFormat());
}
return;
}
这里e.Bounds是一个只读属性,表示绘制ColumnHeader时所能操作的矩形范围,这个是Windows产生NM_CUSTOMDRAW是就已经定了的,我对Windows消息机制了解不多,不知道是否有方法来改变这个Bounds的内容,如果能改就可以指定高了。