如何分析C#打印和C#打印预览的实现,很多新手对此不是很清楚。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。需要的人可以从中学习,希望你能有所收获。
我们来说说C#打印和C#打印预览的实现,主要包括三个部分:页面设置、打印预览和打印。打印的原理是:生成mdi文件,当系统遇到mdi时,会通过打印自动处理。所以,无论使用什么样的模板或方法;在PrintPage的事件处理中生成要打印的内容的图片就可以了!的主要支持类包含在命名空间系统中。绘图。打印并在System.Drawing.dll装配中实现。C#打印和C#打印预览的实现主要由PrintDocument类完成,还包括几个辅助类:PrintDialog、PrintPreviewDialog和PageSetupDialog。
打印类是实现打印和打印预览的中心类,实际的打印操作都是通过这个类来完成的。本类打印操作流程:
1)创建一个类实例print document prindt=new print document();
2)设置类实例的属性。
3)为这个类的打印事件添加一个事件处理函数。
4)调用该类的Print函数进行打印。
打印:printDt。print();
有三个属性与C#打印和C#打印预览的实现相关:
DefaultPageSettings:保存打印文档的默认页面设置,如大小、打印方向等,是PageSettings类型的变量。
DocumentName:用于设置PrintDocument类实例的名称。是字符串类型的变量。
打印机设置:包含打印机的设置信息,可以通过“打印”的通用对话框进行设置。
打印前应正确设置这三个属性。PageSettings类和PrinterSettings类是与PrintDocument类的属性设置相关的类。
页面设置类指定单个打印页面的设置。
PrinterSettings类包含打印机的设置信息。在这两个类中,用户可以完全控制打印机和打印页面。
C#打印和C#打印预览打印事件的处理打印文档类提供了四个事件来处理打印操作。
BeginPrint事件
此事件在调用Print方法之后和打印第一页之前触发。在这种情况下,您可以设置参数,如应用于所有页面的打印机属性和页面属性,以及使用的字体。
事件代理是PrintEventHandler,事件参数类型是PrintEvnetArgs。PrintEvnetArgs中有一个“取消”属性,可以设置为“真”以禁用打印操作。
this . printdt . BeginPrint=NewPrintEventHandler(this。beginpriting);PrivateVoidbeginprinting(对象发送方,printeventeargse){//相应处理开始打印事件}结束打印事件
打印页面时会触发此事件。在这种情况下,可以进行一些资源清理。事件代理是PrintEventHandler,事件参数类型是PrintEvnetArgs。
打印页面事件
打印每页时触发此事件,每页的打印在此事件中完成。用户必须为此事件提供一个处理程序来完成实际的打印操作。
代理类型为PrintPageEvnetHandler,事件参数类型为PrintPageEventArgs。
printDt。PrintPage=new printpageevnethandler(这。printeeverypage);privatedvoitprinteeverypage(object sender,PrintPageEventArgs){ Graphics GH=e . Graphics;//获取绘图对象//执行特定的绘图操作//例如gh。DrawingString(.);如果(仍有页面未打印)e . HasMorePages=true埃尔
se e.HasMorePages = false; }
◆QueryPageSettings事件
这个事件在每个PrintPage事件之前被触发,可以使用这个事件来设置打印每一个页面的页面设置。
事件代理类型为 QueryPageSettingsEventHandler,事件参数的类型为QueryPageSettingsEventArgs。事件参数中包含一个PageSettings属性。
printDt.QueryPageSettings += new QueryPageSettingsEventHandler(this.SetEveryPage); private void SetEveryPage(object sneder, QueryPageSettingsEventArgs e) { //根据不同的页面来设置e.PageSettings属性 … } PrintDialog对话框 为了获取打印机的设置信息,.Net框架未用户提供了PrintDialog类。 PrintDialog printDlg = new PrintDialog();
在显示“打印”对话框之前,还需要设置它的属性。
其中最重要的一个属性就是Document属性,类型为PrintDocument.,在对话框中所做的任何设置都将保存在这个属性中。
PrinterSettings属性也用来保存用户在对话框中所做的设置。
在显示“打印”对话框之前,必须设置Document和PrinterSettings属性中的一个。
对话框中显示“打印到文件”按钮 AllowPrintToFile属性
显示选择页面范围的控件 AllowSelection属性
是否显示帮助按钮ShowHelp属性
//打印预览 //PrintPreviewDialog ppd = new PrintPreviewDialog(); PrintDocument pd = new PrintDocument(); //设置边距 Margins margin = new Margins(20, 20, 20, 20); pd.DefaultPageSettings.Margins = margin; ////纸张设置默认 //PaperSize pageSize = new PaperSize("First custom size", 800, 600); //pd.DefaultPageSettings.PaperSize = pageSize; //打印事件设置 pd.PrintPage += new PrintPageEventHandler(this.pd_PrintPage);
C#打印和C#打印预览的实现的基本内容就向你介绍到这里,希望对你了解和学习C#打印和C#打印预览的实现方面的编程有所帮助。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/113754.html