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

解决方案 »

  1.   

    把label放到一个FlowLayoutPanel里面,就可以自动换行了。
      

  2.   

    label要换行,需要设置AutoSize=false,长度不够使就会换行,也可以加换行符 \r\n,打印换行,不知道你用什么打印,应该是你打打印设置或模板问题
      

  3.   

    你们都误解我的意思了,我的意思是:
    一串文字在Label上没换行
    然后我用drawstring画这串文字,
    rectangle _rect =new rectangle
    _rect.width=label.width
    _rect.height=label.height
    drawstring("这串文字",lable.font,_rect)
    但是显示的时候这串文字就换行了。
    我要的效果是和label一样,label里面换行drawstring就换行
    label里面不换行,drawstring就不换行
      

  4.   

    这个嘛,你得计算一下,你drawstring的时候,一行多少字的时候换行,然后截断,在中间插入一个\r\n换行符,然后再draw吧
      

  5.   

    可以这样:
                e.Graphics.DrawString(label.Text, label.Font, Brushes.Black, rect, StringFormat.GenericTypographic);