我的代码如下: 
printFont = new Font("IDAutomationC128M", 10);
  printDocument1.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
  printPreviewDialog1.Document=printDocument1;
  printPreviewDialog1.ShowDialog();
当执行了printPreviewDialog1.ShowDialog();后预览这可以,为什么当我点击预览上的打印按钮的时候,打印的为什么是空白的呢???

解决方案 »

  1.   

    int bound = 350;//表格边界
    int js = 0;//循环计数器
    float leftMargin = ev.MarginBounds.Left;
    float topMargin = ev.MarginBounds.Top;
    Graphics myDc = ev.Graphics;
    int num=57;
    int m=0,n=1,p=0;
    for(int i=k;i<=ds_TxmQuery.Tables[0].Rows.Count;i++)
    {
    m=SetLeft(n);
    myDc.DrawString(Convert.ToString(ds_TxmQuery.Tables[0].Rows[i-1][1]),printFont,Brushes.Black,new Point(m,num + bound * js+num));
    myDc.DrawString(Convert.ToString(ds_TxmQuery.Tables[0].Rows[i-1][0]),new Font("宋体",12),Brushes.Black,new Point(m,num + bound * js+num+50));
                               }
      

  2.   

    打印预览完成后,要把所有的状态恢复到预览前。因点“打印”,是再次调用
    OnPrintPage(PrintPageEventArgs ev) 把文件状态,你的参数全部恢复到原始状态。