老甲克C++随笔(oldjacky||oldjackyone)  
.........体验真实C++.........

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

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

       那好,我们就这样开始吧!

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

 

示意图:

 

 

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

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

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);
//对每一页的内容进行绘制

      }

 

 

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

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

 第三步:看效果:)


 
 
(1) 

 
(2) 

 


posted on 2005-09-27 13:17  oldjacky  阅读(2418)  评论(10编辑  收藏  举报