响应完PrintPage事件后,末尾你有没有判断是否一页内可以容纳下所有
内容?比如line表示内容,在该事件的末尾要判断if (line != null)
   e.HasMorePages=true;
else
   e.HasMorePage=false;

解决方案 »

  1.   

    请问lonk,和各位高手:我已经把e.HasMorePages设置为真,但预览显示文档经有n百页,而且没有停下去的意思,只有取消,并且n百页的内容完全相同,怎么办?谢谢
    代码如下:
    private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {
    e.Graphics.DrawString(this.richTextBox1.Text,this.richTextBox1.Font,Brushes.Black,150,125);  
    e.HasMorePages =true;
    }
      

  2.   

    你将this.richTextBox1.Text直接传递给e.Graphics.DrawString这个函数是有错误的,导致死循环。应该用ReadLine ( )循环提取每一行进行打印控制。