我创建了一个用户控件,它基本上是一个具有一些不错的小功能的按钮。
其中一个功能是确定文本可能的最大字体大小,同时将文本保持在框的范围内。
这在大多数情况下都能正常工作,但有时它会把一个词切成两半以适应它。
所以它可能显示为..
stackov
erflow
而不是
stackoverflow
(但字体较小)
我认为应该有一个 StringFormatFlag 允许我指定如何进行自动换行。
我想要自动换行,而不是“字符”换行。
谢谢 丰富。
最佳答案
您可以尝试改用 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);
关于c# - Graphics.DrawString 斩波中间词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7084620/