日期:2014-05-18  浏览次数:20892 次

drawstring的问题
在一个label上输入XXXXXX,label没换行,(label已经设置不够宽的时候换行)
声明了一个rect,rect的宽,高分别等于label的宽高
drawstring("XXXXXX",label.font,rect)
这个时候打印出来的字体却换行了,我想要的效果是label怎么显示,打印就怎么样。
XXXXX只是例子来的,其宽度应该是临界于label的宽度,但是又没导致换行.

请问下这是什么问题呢,如何能解决。

------解决方案--------------------
加换行符 \r\n,手动换行
------解决方案--------------------
把label放到一个FlowLayoutPanel里面,就可以自动换行了。
------解决方案--------------------
label要换行,需要设置AutoSize=false,长度不够使就会换行,也可以加换行符 \r\n,打印换行,不知道你用什么打印,应该是你打打印设置或模板问题
------解决方案--------------------
这个嘛,你得计算一下,你drawstring的时候,一行多少字的时候换行,然后截断,在中间插入一个\r\n换行符,然后再draw吧
------解决方案--------------------
可以这样:
C# code
            e.Graphics.DrawString(label.Text, label.Font, Brushes.Black, rect, StringFormat.GenericTypographic);