How to wordWrap the text in a column using ObjectListView

若如初见. 提交于 2019-11-28 11:20:15

问题


For example I have a big sentence:

"I like to eat pie and have fun around the house all day long!" And I want it to appear like this:

"I like to eat pie and have fun around the house all day long!"

In this post: Multi-line list items on WinForms ListView control? Grammarian said that you only need to have WordWrap on but I cannot find that option.

Thanks for the help in advanced


回答1:


Each column has a WordWrap property. Set that to true and the text of that column will wrap.

Remember, the list must be OwnerDrawn for the wrapping to be visible.

EDIT: I looked again today, and you are quite right -- that property has gone! I have no idea where it has vanished to. I'm sure it used to be there :(

OLVColumn should have a property like this:

    [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;

Put that in, and you'll be able to word wrap your column's contents.



来源:https://stackoverflow.com/questions/2653781/how-to-wordwrap-the-text-in-a-column-using-objectlistview

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!