使用Winform和VB.Net - 如何更改列标题高度?
答案 0 :(得分:1)
Windows 允许您更改列标题的高度,而 允许您更改标题的字体 - 但这远非易事。它是Windows,你期待什么? :)
要做其中任何一项,您必须深入研究Windows控件和消息的世界。
要更改高度,您必须处理来自Windows的HDM_LAYOUT
消息。此消息将发送到标头控件。在该消息中,您可以控制标头控件的边界和列表的边界。同样,要更改字体,您需要截取NM_CUSTOMDRAW
通知,并设置设备上下文的字体。
这里有几个复杂问题:.NET不公开标题控件; NM_CUSTOMDRAW
有几个阶段,您必须适当地释放资源。
但是,如果你使用VB.NET,你可以避免所有麻烦,只需使用ObjectListView(.NET WinForms ListView的开源包装器)。如果需要,可以更改标题高度并允许每列上的不同字体和颜色。即使您不使用该控件,也可以阅读源代码以了解它是如何完成的。
此示例显示了不同的字体,颜色和自动换行:
(来源:sourceforge.net)
答案 1 :(得分:0)
它与字体无关。 您需要子类化ListView的标头控件并处理HDM_LAYOUT消息。 我写了一个简单的技术演示: http://www.codeproject.com/KB/list/VHHListView.aspx