微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – Graphics.DrawString砍掉中间词

我创建了一个usercontrol,它基本上是一个带有一些不错的小功能的按钮.

其中一个特性是它确定了文本可能的最大字体大小,同时将文本保留在盒子的限制范围内.

这在大多数情况下都可以正常工作,但有时它会将一个单词切成两半以适应它.

所以它可能会显示为……

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",new Rectangle(50,textformatFlags.WordBreak | textformatFlags.VerticalCenter | textformatFlags.HorizontalCenter);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐