如何使用ObjectListView将文本换行到列中

时间:2010-04-16 14:42:34

标签: c# .net listview objectlistview

例如,我有一个很大的句子:

“我喜欢吃馅饼,整天在家里玩得开心!” 我希望它看起来像这样:

“我喜欢吃馅饼而且吃 房子周围都很有趣 一天!“

在这篇文章中:Multi-line list items on WinForms ListView control? Grammarian说你只需要打开WordWrap,但我找不到这个选项。

感谢先进的帮助

1 个答案:

答案 0 :(得分:4)

每列都有WordWrap属性。将其设置为true,该列的文本将换行。

请记住,列表必须是OwnerDrawn才能显示包装。

编辑:今天我再次看了,你说得对 - 这个属性已经消失了!我不知道它在哪里消失了。我确信它曾经存在:(

OLVColumn应该有这样的属性:

    [Category("Behavior - ObjectListView"),
     Description("Draw this column cell's word wrapped"),
     DefaultValue(false)]
    public bool WordWrap {
        get { return wordWrap; }
        set { 
            wordWrap = value;
            if (wordWrap) {
                this.Renderer = new BaseRenderer();
                ((BaseRenderer)this.Renderer).CanWrap = true;
                ((BaseRenderer)this.Renderer).UseGdiTextRendering = false;
            } else {
                this.Renderer = null;
            }
        }
    }
    private bool wordWrap;

把它放进去,你就可以对你的专栏内容进行自动换行。

相关问题