黑马程序员技术交流社区

标题: C#中Winform实现打印预览与打印功能 [打印本页]

作者: 杨深    时间: 2012-11-5 21:40
标题: C#中Winform实现打印预览与打印功能
涉及 PrintDocument 组件的两种主要情况是:
(1)简单的打印作业,如打印单个文本文件。在这种情况下,应将 PrintDocument 组件添加到 Windows 窗体,然后在 PrintPage 事件处理程序中添加打印文件的编程逻辑。该编程逻辑应以使用 Print 方法打印文档结束。此方法向打印机发送一个 Graphics 对象,该对象包含在 PrintPageEventArgs 类的 Graphics 属性中。
更为复杂的打印作业,如想要重新使用已编写的打印逻辑的情况。在这种情况下,应从 PrintDocument 组件派生一个新组件,并重写PrintPage 事件。
(2)添加一个PrintPreviewDialog控件(PrintPreviewDialog 控件是预先配置的对话框,用于显示文档打印后的外观。该控件包含打印、放大、显示一页或多页和关闭此对话框的按钮),该控件的主要属性是 Document,用于设置要预览的文档。文档必须是 PrintDocument 对象。若要显示对话框,必须调用它的 ShowDialog 方法。

步骤:
1、添加PrintDocument组件、 PrintPage 事件(在事件处理程序中进行绘图,使用事件参数e来获取绘图表面)
2、添加PrintPreviewDialog控件
3、添加一个打印按钮(为 PrintPreviewDialog控件 指定要打印的文档,并显示打印预览对话框),使用 g.DrawImage() 来绘制图像
4、实现“直接打印”功能(显示一个打印对话框,在里面可以指定打印机、打印份数等)
——使用PrintDialog控件
——判断对话框返回的结果,如果是单击了“打印”按钮,则对PrintDocument执行打印操作






作者: 许庭洲    时间: 2012-11-5 21:53
值得学习ing!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2