首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

分页打印有关问题

2012-04-05 
分页打印问题输出纸张有限,每页都要打表头且只打20条内容,程序要实现功能:判断医嘱内容20条打印第一、二页

分页打印问题
输出纸张有限,每页都要打表头且只打20条内容,程序要实现功能:判断医嘱内容>20条打印第一、二页,以下是原代码,新手入门请给予帮助,谢谢!
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
  //第一页
  e.Graphics.DrawString(this.textBox1.Text+"床",new Font("宋体",11,FontStyle.Bold),Brushes.Black,6,88);
  e.Graphics.DrawString("姓名:"+this.textBox2.Text,new Font("宋体",11,FontStyle.Bold),Brushes.Black,45,88);
  e.Graphics.DrawString("ID号:"+this.textBox4.Text,new Font("宋体",11,FontStyle.Bold),Brushes.Black,160,88);
  e.Graphics.DrawString(this.textBox33.Text+" 输液单",new Font("宋体",14,FontStyle.Underline),Brushes.Black,100,58);
  e.Graphics.DrawString("日期 "+this.textBox55.Text,new Font("宋体",11,FontStyle.Bold),Brushes.Black,275,88);
  e.Graphics.DrawString("医 嘱 内 容",new Font("宋体",11,FontStyle.Bold),Brushes.Black,20,108);
  Pen pen = new Pen(Color.Black,2);
  Point[] points =
  {
  new Point(0,105),
  new Point(400,105)
  };
  e.Graphics.DrawLines(pen,points);
  Point[] points1 =
  {
  new Point(0,128),
  new Point(400,128)
  };
  e.Graphics.DrawLines(pen,points1);//以上为表头
  e.Graphics.DrawString(this.textBox12.Text+" "+this.textBox13.Text+this.textBox14.Text+this.textBox207.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,135);
  e.Graphics.DrawString(this.textBox15.Text+" "+this.textBox16.Text+this.textBox17.Text+this.textBox206.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,155);
  e.Graphics.DrawString(this.textBox18.Text+" "+this.textBox19.Text+this.textBox20.Text+this.textBox205.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,175);
  e.Graphics.DrawString(this.textBox21.Text+" "+this.textBox22.Text+this.textBox23.Text+this.textBox204.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,195);
  e.Graphics.DrawString(this.textBox24.Text+" "+this.textBox25.Text+this.textBox26.Text+this.textBox203.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,215);
  e.Graphics.DrawString(this.textBox27.Text+" "+this.textBox28.Text+this.textBox29.Text+this.textBox202.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,235);
  e.Graphics.DrawString(this.textBox30.Text+" "+this.textBox31.Text+this.textBox32.Text+this.textBox201.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,255);
  e.Graphics.DrawString(this.textBox36.Text+" "+this.textBox35.Text+this.textBox34.Text+this.textBox200.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,275);
  e.Graphics.DrawString(this.textBox40.Text+" "+this.textBox39.Text+this.textBox38.Text+this.textBox199.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,295);
  e.Graphics.DrawString(this.textBox44.Text+" "+this.textBox43.Text+this.textBox42.Text+this.textBox198.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,315);
  e.Graphics.DrawString(this.textBox48.Text+" "+this.textBox47.Text+this.textBox46.Text+this.textBox197.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,335);
  e.Graphics.DrawString(this.textBox59.Text+" "+this.textBox58.Text+this.textBox56.Text+this.textBox196.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,355);
  e.Graphics.DrawString(this.textBox63.Text+" "+this.textBox62.Text+this.textBox61.Text+this.textBox195.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,375);
  e.Graphics.DrawString(this.textBox67.Text+" "+this.textBox66.Text+this.textBox65.Text+this.textBox194.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,395);


  e.Graphics.DrawString(this.textBox71.Text+" "+this.textBox70.Text+this.textBox69.Text+this.textBox193.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,415);
  e.Graphics.DrawString(this.textBox75.Text+" "+this.textBox74.Text+this.textBox73.Text+this.textBox212.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,435);
  e.Graphics.DrawString(this.textBox79.Text+" "+this.textBox78.Text+this.textBox77.Text+this.textBox211.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,455);
  e.Graphics.DrawString(this.textBox83.Text+" "+this.textBox82.Text+this.textBox81.Text+this.textBox210.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,475);
  e.Graphics.DrawString(this.textBox87.Text+" "+this.textBox86.Text+this.textBox85.Text+this.textBox209.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,495);
  e.Graphics.DrawString(this.textBox91.Text+" "+this.textBox90.Text+this.textBox89.Text+this.textBox208.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,515);
  e.Graphics.DrawString("---------------------",new Font("宋体",10,FontStyle.Bold),Brushes.Black,60,550);
  e.hasmorepage=true;

  //第二页 列,行  
  e.Graphics.DrawString(this.textBox1.Text+"床",new Font("宋体",11,FontStyle.Bold),Brushes.Black,6,88);
  e.Graphics.DrawString("姓名:"+this.textBox2.Text,new Font("宋体",11,FontStyle.Bold),Brushes.Black,45,88);
  e.Graphics.DrawString("ID号:"+this.textBox4.Text,new Font("宋体",11,FontStyle.Bold),Brushes.Black,160,88);
  e.Graphics.DrawString(this.textBox33.Text+" 输液单",new Font("宋体",14,FontStyle.Underline),Brushes.Black,100,58);
  e.Graphics.DrawString("日期 "+this.textBox55.Text,new Font("宋体",11,FontStyle.Bold),Brushes.Black,275,88);
  e.Graphics.DrawString("医 嘱 内 容",new Font("宋体",11,FontStyle.Bold),Brushes.Black,20,108);
  Point[] points2 =
  {
  new Point(0,105),
  new Point(400,105)
  };
  e.Graphics.DrawLines(pen,points2);
  Point[] points3 =
  {
  new Point(0,128),
  new Point(400,128)
  };
  e.Graphics.DrawLines(pen,points3);//以上为表头
  e.Graphics.DrawString(this.textBox133.Text+" "+this.textBox132.Text+this.textBox131.Text+this.textBox183.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,135);
  e.Graphics.DrawString(this.textBox130.Text+" "+this.textBox129.Text+this.textBox128.Text+this.textBox182.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,155);
  e.Graphics.DrawString(this.textBox127.Text+" "+this.textBox126.Text+this.textBox125.Text+this.textBox181.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,175);
  e.Graphics.DrawString(this.textBox124.Text+" "+this.textBox123.Text+this.textBox122.Text+this.textBox180.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,195);
  e.Graphics.DrawString(this.textBox121.Text+" "+this.textBox120.Text+this.textBox119.Text+this.textBox179.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,215);
  e.Graphics.DrawString(this.textBox118.Text+" "+this.textBox117.Text+this.textBox116.Text+this.textBox178.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,235);
  e.Graphics.DrawString(this.textBox115.Text+" "+this.textBox114.Text+this.textBox113.Text+this.textBox177.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,255);


  e.Graphics.DrawString(this.textBox111.Text+" "+this.textBox110.Text+this.textBox109.Text+this.textBox176.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,275);
  e.Graphics.DrawString(this.textBox107.Text+" "+this.textBox106.Text+this.textBox105.Text+this.textBox175.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,295);
  e.Graphics.DrawString(this.textBox103.Text+" "+this.textBox102.Text+this.textBox101.Text+this.textBox174.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,315);
  e.Graphics.DrawString(this.textBox99.Text+" "+this.textBox98.Text+this.textBox97.Text+this.textBox173.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,335);
  e.Graphics.DrawString(this.textBox95.Text+" "+this.textBox94.Text+this.textBox93.Text+this.textBox192.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,355);
  e.Graphics.DrawString(this.textBox171.Text+" "+this.textBox170.Text+this.textBox169.Text+this.textBox191.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,375);
  e.Graphics.DrawString(this.textBox167.Text+" "+this.textBox166.Text+this.textBox165.Text+this.textBox190.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,395);
  e.Graphics.DrawString(this.textBox163.Text+" "+this.textBox162.Text+this.textBox161.Text+this.textBox189.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,415);
  e.Graphics.DrawString(this.textBox159.Text+" "+this.textBox158.Text+this.textBox157.Text+this.textBox188.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,435);
  e.Graphics.DrawString(this.textBox155.Text+" "+this.textBox154.Text+this.textBox153.Text+this.textBox187.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,455);
  e.Graphics.DrawString(this.textBox151.Text+" "+this.textBox150.Text+this.textBox149.Text+this.textBox186.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,475);
  e.Graphics.DrawString(this.textBox147.Text+" "+this.textBox146.Text+this.textBox145.Text+this.textBox185.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,495);
  e.Graphics.DrawString(this.textBox143.Text+" "+this.textBox142.Text+this.textBox141.Text+this.textBox184.Text,new Font("宋体",10,FontStyle.Bold),Brushes.Black,6,515);
  e.Graphics.DrawString("---------------------",new Font("宋体",10,FontStyle.Bold),Brushes.Black,60,550);
  e.hasmorepage=false;
}


[解决办法]

添加一个窗口变量:int p=0;

private void printDocument1_BeginPrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
p=1;
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
if(p==1)
{
//打印第一页
p++;
e.HasMorePage=true;
}
else
{
//打印第二页
e.HasMorePage=false;
}

}

热点排行