4

我使用 ObjectListView 而不是标准的 ListView 是因为我想对列进行自动换行。

我在几个地方读到,为了启用自动换行,我唯一需要做的就是设置column.wordWrap为 true。

我就是这样做的,但它不起作用。

我在这里想念什么?

编辑: 我现在意识到我需要绘制我的专栏所有者。我发现这个页面告诉我该怎么做,但我不确定在我的代码中放置它的位置。我也不太确定是否需要在委托中添加某些属性以允许自动换行(从外观上看,它默认启用)。问题是,我尝试了在此页面中找到的内容,逐字复制,我的列表看起来完全一样......

4

2 回答 2

8

如果您的意思是“自动换行”,您希望不同的行具有不同的高度,那么常见问题解答是正确的——根本无法做到。

但是,如果您使每一行都可以显示两行或多行文本,那么,是的,ObjectListView可以自动换行。

它需要三个条件:

  1. 在要换行的列上设置WordWraptrue 。你已经这样做了。
  2. 确保ObjectListView是所有者绘制的(设置OwnerDrawtrue - 这可以在表单设计器中完成)。基础ListView不能自动换行,所以我们必须自己绘制单元格。
  3. 通过将 RowHeight 设置为 32(或其他一些值),确保有空间可以查看换行的行

这是演示中的数据选项卡。第一列已WordWrap设置为 true。 自动换行

于 2012-04-17T23:26:34.290 回答
0

ObjectListView SourceForge FAQ页面上,它明确指出:

可以换行吗?

不。

于 2012-04-09T15:02:56.577 回答