Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 图形.抽绳切碎中间单词_C#_.net_Graphics_User Controls_Gdi+ - Fatal编程技术网

C# 图形.抽绳切碎中间单词

C# 图形.抽绳切碎中间单词,c#,.net,graphics,user-controls,gdi+,C#,.net,Graphics,User Controls,Gdi+,我创建了一个usercontrol,它基本上是一个按钮,具有一些很好的小特性 其中一个特点是,它可以确定文本的最大字体大小,同时将文本保持在框中的限制范围内 这种方法在大多数情况下都很有效,但有时它会将一个单词切成两半以适合它 所以它可能看起来像 stackov erflow 而不是 stackoverflow (但字体较小) 我认为应该有一个StringFormatFlag来允许我指定如何进行单词包装 我想要单词包装,但不是“字符”包装 谢谢 丰富。填充属性时,需要指定.NoWrap。

我创建了一个usercontrol,它基本上是一个按钮,具有一些很好的小特性

其中一个特点是,它可以确定文本的最大字体大小,同时将文本保持在框中的限制范围内

这种方法在大多数情况下都很有效,但有时它会将一个单词切成两半以适合它

所以它可能看起来像

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类。它似乎在耍花招。。非常感谢!!:-)