Microsoft.net出现后,一直就没有提供一个直接可以打印的控件给我们.net开发人员使用,这一点上来说,Microsoft 就不如Delphi,PB了,但不知道在2.0里面有没有现成的控件可以用,至少1.14版本中是没有,不管怎么样,利用其它第三方控件总感觉很不舒服,看它的代码就得看上一段时间,哎,咱们苦命汉,还是自己写个简单的凑合着用吧。 
       那好,我们就这样开始吧! 

       第一步:当然大家也都知道,首先得拖上俩控件:PrintDocument,PrintPreviewDialog 

示意图: 

Microsoft.net 自定义打印简单报表_实例化


  

当得到这个界面的时候,基本的工作都完成了,那么我们现在需要做的是,向里面添加一些打印需要调用的函数及函数代码,有必要对它进行一个类的封装。 

我们先来看看它的简单的流程: 

1.  打印预览: 

     

private void button1_Click(object sender, System.EventArgs e) 
  
               { 
  
                      printDrawing = new PrintDrawing(listView1);//打印类的实例化 
  
                      printPreviewDialog1.Document = printDocument1;//设置预览的打印文档 
  
                      printPreviewDialog1.Document.DefaultPageSettings.Landscape = true;//设置为横打 
  
                      printPreviewDialog1.ShowDialog();//显示预览框 
  
               }


 

2.  打印每一页时进行调用: 

   

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) 
  
       { 
  
          if( printDrawing == null ) 
  
              printDrawing = new PrintDrawing(listView1);//打印类的实例化 
  
           printDrawing.DrawingBegin(e);//对每一页的内容进行绘制 
  
       }


 

第二步就是写一个打印的类: 

       这个么,就略去了,看代码吧。 (请到文章底部找下载) 

 第三步:看效果:) 

   

Microsoft.net 自定义打印简单报表_microsoft_02


(1)   

Microsoft.net 自定义打印简单报表_控件_03


(2) 

Microsoft.net 自定义打印简单报表_microsoft_04