【发布时间】:2011-11-28 19:51:42
【问题描述】:
我在详细信息视图中有一个列表视图,并且我添加了列。我想增加列标题的高度,或者对标题文本进行自动换行,或者允许我使用 CrLf 指定换行符。
这可以使用标准的 .NET 控件吗?
【问题讨论】:
我在详细信息视图中有一个列表视图,并且我添加了列。我想增加列标题的高度,或者对标题文本进行自动换行,或者允许我使用 CrLf 指定换行符。
这可以使用标准的 .NET 控件吗?
【问题讨论】:
这很难,你不能直接控制列标题的高度。您可以通过给 ListView 一个大字体来间接做到这一点。然后您需要将 OwnerDraw 属性设置为 true 并实现 DrawItem、DrawSubItem 和 DrawColumnHeader 事件。后者可让您对文本进行自动换行。您还需要为添加的每个 ListViewItem 设置 Font 属性,这样它们也不会被绘制得很大。不愉快但并非不可能。
【讨论】:
Better ListView control 就是这样做的,它是编写纯托管 (.NET) 代码。
列标题和项目(甚至组标题)都可以包含任意多行文本,即使有自定义换行符也是如此。一个属性可以限制最大行数:
【讨论】: