引言
上篇博客对打印进行了解析,从解析中可以看出有关打印的控制分别被封存在两个命名空间下,这两个命名空间结合使用可以较好的控制打印。用一句话来总结上篇博客是:知其所以然,还要知其为何所以然。接下来将会讨论.NET有关打印实现的问题,很简单,但有些细节需要注意。
则一:打印文档
上篇博客也已经说到,在实现打印时首先要有打印文档,.NET把打印文档抽象成了一个类PrintDocument,该类在打印过程中必然会用到,它封装了打印的内容,可以在该对象中添加绘制图文。
在使用时通常创建 PrintDocument 类的实例,设置属性(例如 DocumentName 和 PrinterSettings),并调用 Print 方法来开始打印过程。 处理 PrintPage 事件指定打印输出的位置,使用 PrintPageEventArgs的 Graphics Graphics 属性。
a. 常用方法:Print()
b. 常用事件:BeginPrint在调用Print方法时并且在打印文档的第一页之前发生、EndPrint打印完文档的最后一页时发生、PrintPage当需要为当前页打印的输出时发生。
我们来看一个打印的实例,业务说明:在C:\My Documents\MyFile.txt文件内读取要打印的内容,在单击printButton按钮后创建新的PrintDocument对象,并为其制定PrintPage事件。
清单一:printButton按钮事件,读取数据流,创建打印文档,并为文档添加事件。使用加载文件对话框来选择需要打印的文档,这里限制的文档类型只能是txt。
''' <summary>
''' 加载打印文件事件,加载txt文件
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks&g