吕洞宾和牡丹仙子:winform 实现打印功能

来源:百度文库 编辑:中财网 时间:2024/04/28 16:07:38
分别使用PrintDialog  PrintDocument  PrintPreviewDialog单个控件1、打印    private void button2_Click(object sender, EventArgs e)
    {
          if (this.printDialog1.ShowDialog() == DialogResult.OK)
            this.printDocument1.Print();   //引发后面的printDocument1_PrintPage(...)方法
    }2、打印预览     // 1、设置显示页面的大小
  printPreviewDialog1.PrintPreviewControl.Zoom = 1.0;
    // 2、设置宽度和高度
  printPreviewDialog1.Width = Screen.PrimaryScreen.Bounds.Width;
  printPreviewDialog1.Height = Screen.PrimaryScreen.Bounds.Height;
  printPreviewDialog1.ShowDialog(); 在printDocument1_PrintPage方法中绘图3、//表头   int StartX=60;   int StartY=120; 
   e.Graphics.DrawString("序号", new Font("宋体", 10), Brushes.Black, StartX, StartY + 45);
   e.Graphics.DrawString("采购项目", new Font("宋体", 10), Brushes.Black, StartX + 55, StartY + 45);
   e.Graphics.DrawString("技术要求", new Font("宋体", 10), Brushes.Black, StartX + 250, StartY + 45);
   e.Graphics.DrawString("单位", new Font("宋体", 10), Brushes.Black, StartX + 435, StartY + 45);
   e.Graphics.DrawString("数量", new Font("宋体", 10), Brushes.Black, StartX + 475, StartY + 45);
   e.Graphics.DrawString("单价", new Font("宋体", 10), Brushes.Black, StartX + 535, StartY + 45);
   e.Graphics.DrawString("金额", new Font("宋体", 10), Brushes.Black, StartX + 620, StartY + 45);4、表格   Graphics g = e.Graphics;
   Pen pen = new Pen(Color.Black, 1);   横线  for (int i = 203; i <= 603;i = i + 40)
      {
        g.DrawLine(pen, 60, i, 800, i);
      }  竖线: int[] ss = new int[8] { 0, 30, 140, 430, 470, 510, 600, 690 };//每个横线距离基准线的差
 for (int i = 0; i < ss.Length; i++)
 {
       g.DrawLine(pen, ss[i] + StartX, 60, ss[i] + StartX,800);
 }