TextRenderer.如何用dollipsis渲染文本多行?

Dim*_*Dim 3 c# winforms visual-styles

我如何渲染这样的文本(简单列表视图)?

默认的ListView渲染

尝试这样的代码不会产生省略号:

TextRenderer.DrawText(_listGraphics,
                   anItem.Text, GetItemFont(anItem),
                   textRec,
                   Color.FromKnownColor(KnownColor.ControlText),
                   TextFormatFlags.Top| TextFormatFlags.EndEllipsis|
                   TextFormatFlags.WordBreak | TextFormatFlags.HorizontalCenter);
Run Code Online (Sandbox Code Playgroud)

如果我删除TextFormatFlags.WordBreak然后文本变成单行.

它可以手动热跟踪项目,同时拖放它们.

Lar*_*ech 5

正如Hans教我的那样,通过包含TextBoxControl标志有一个标志:

TextRenderer.DrawText(e.Graphics, myString, this.Font,
                      textRec, Color.Black, Color.Empty,
                      TextFormatFlags.HorizontalCenter |
                      TextFormatFlags.TextBoxControl |
                      TextFormatFlags.WordBreak |
                      TextFormatFlags.EndEllipsis);
Run Code Online (Sandbox Code Playgroud)

  • 是的,那很接近:)在20世纪70年代的朋友之间或成长.绝对是je. (2认同)