如果你主动键入回车(换行符),那么Lines就是多条的
而如果你没有键入回车,虽然显示成多行,但是其实还是一行啊
打印的时候也应该按一行打印啊

解决方案 »

  1.   

    需要根据用户调整后的TextBox的长度来打印
    --------
    意思是,用户可以随意调整TextBox的宽度?
    为什么要这样设计啊
    想换行的时候敲个回车就好了嘛,没事变换TextBox的宽度干嘛
      

  2.   


    是这样子的,类似雨淘宝的快递单打印,
    用户每行设置多少,我就得打印多少,用户不会输入回车的,他只需要调整TextBox的长度即可。
      

  3.   

    我觉得你还是直接
    textBox1.CreateGraphics()
    把它直接变成图片算了
    否则就必须自己通过控件大小,字体大小,去算每行到底能显示多少个字了
      

  4.   


      string[] line = this.textBox1.Lines;
                var line1 = line[0];
                var line2 = line[1];
      

  5.   


    嗯,是啊,所以这是我比较头疼的一个问题,如果实在没有办法,也只能打印成图片了,但是那种针式打印机打印出来的图片真心不清晰。
    针式打印机打印图片不清晰?
    不会的
    我做磅单打印的时候用的就是GDI+,把文字变成图片打印出来的
    textBox1.CreateGraphics()之后如果你不做缩放,应该跟在界面上看的效果一样才对
      

  6.   


    嗯,是啊,所以这是我比较头疼的一个问题,如果实在没有办法,也只能打印成图片了,但是那种针式打印机打印出来的图片真心不清晰。
    针式打印机打印图片不清晰?
    不会的
    我做磅单打印的时候用的就是GDI+,把文字变成图片打印出来的
    textBox1.CreateGraphics()之后如果你不做缩放,应该跟在界面上看的效果一样才对让我试试看
      

  7.   

    测量吧
    http://msdn.microsoft.com/zh-cn/library/6xe5hazb(v=vs.110).aspx
      

  8.   


    用测量值这种方法解决了问题,谢谢於黾,zzyhost的帮助。