C# 图形.抽绳切碎中间单词
我创建了一个usercontrol,它基本上是一个按钮,具有一些很好的小特性 其中一个特点是,它可以确定文本的最大字体大小,同时将文本保持在框中的限制范围内 这种方法在大多数情况下都很有效,但有时它会将一个单词切成两半以适合它 所以它可能看起来像C# 图形.抽绳切碎中间单词,c#,.net,graphics,user-controls,gdi+,C#,.net,Graphics,User Controls,Gdi+,我创建了一个usercontrol,它基本上是一个按钮,具有一些很好的小特性 其中一个特点是,它可以确定文本的最大字体大小,同时将文本保持在框中的限制范围内 这种方法在大多数情况下都很有效,但有时它会将一个单词切成两半以适合它 所以它可能看起来像 stackov erflow 而不是 stackoverflow (但字体较小) 我认为应该有一个StringFormatFlag来允许我指定如何进行单词包装 我想要单词包装,但不是“字符”包装 谢谢 丰富。填充属性时,需要指定.NoWrap。
stackov
erflow
而不是
stackoverflow
(但字体较小)
我认为应该有一个StringFormatFlag来允许我指定如何进行单词包装
我想要单词包装,但不是“字符”包装
谢谢
丰富。填充属性时,需要指定.NoWrap。然后使用一个接受StringFormat类的DrawString重载。以下三种方法之一:
(字符串、字体、画笔、PointF、StringFormat)
(字符串、字体、画笔、矩形、StringFormat)
(字符串、字体、画笔、Single、Single、StringFormat)您可以尝试改用TextRenderer:
TextRenderer.DrawText(e.Graphics,
"stackoverflow",
this.Font,
new Rectangle(10, 10, 32, 32),
Color.Black,
Color.Empty,
TextFormatFlags.WordBreak | TextFormatFlags.VerticalCenter | TextFormatFlags.HorizontalCenter);
TextRenderer.DrawText(e.Graphics,
"stack overflow",
this.Font,
new Rectangle(50, 10, 32, 32),
Color.Black,
Color.Empty,
TextFormatFlags.WordBreak | TextFormatFlags.VerticalCenter | TextFormatFlags.HorizontalCenter);
你能发布你的文字绘图代码吗?代码并不复杂,但你建议的答案解决了我的问题。。再次感谢!!您好,我理解这一点,我正在使用StringFormatFlags,但它正在包装中间词,这是我的问题。太棒了。。我已经使用.net图形很久了,从来没有遇到过这个TextRenderer类。它似乎在耍花招。。非常感谢!!:-)