在C#中实现打印功能(C#中PrintDialog,PrintDocument的使用)
点击次数:86 次 发布日期:2008-11-06 08:09:01 作者:源代码网
|
其步骤如下: 创建一个PrintDialog的实例。如下: System.Windows.Forms.PrintDialog PrintDialog1=new PrintDialog (); 创建一个PrintDocument的实例.如下: System.Drawing.Printing.PrintDocument docToPrint = new System.Drawing.Printing.PrintDocument(); 设置打印机开始打印的事件处理函数.函数原形如下: void docToPrint_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) 将事件处理函数添加到PrintDocument的PrintPage事件中。 docToPrint.PrintPage =new PrintPageEventHandler(docToPrint_PrintPage); 设置PrintDocument的相关属性,如: PrintDialog1.AllowSomePages = true;PrintDialog1.ShowHelp = true; 把PrintDialog的Document属性设为上面配置好的PrintDocument的实例: PrintDialog1.Document = docToPrint; 调用PrintDialog的ShowDialog函数显示打印对话框: DialogResult result = PrintDialog1.ShowDialog(); 根据用户的选择,开始打印: if (result==DialogResult.OK) { docToPrint.Print(); } 例子如下: 使用时先创建PrintService类的实例,然后调用void StartPrint(Stream streamToPrint,string streamType)函数开始打印。其中streamToPrint是要打印的内容(字节流),streamType是流的类型(txt表示普通文本,image表示图像); -------------------------------------------------------------------------------- using System; using System.Drawing.Printing; using System.Windows.Forms; using System.IO; namespace EDImageSystem { /// <summary> /// PrintService 的摘要说明。 /// </summary> public class PrintService { public PrintService() { // // TODO: 在此处添加构造函数逻辑 // this.docToPrint.PrintPage =new PrintPageEventHandler(docToPrint_PrintPage); }//将事件处理函数添加到PrintDocument的PrintPage中 // Declare the PrintDocument object. private System.Drawing.Printing.PrintDocument docToPrint = new System.Drawing.Printing.PrintDocument();//创建一个PrintDocument的实例 private System.IO.Stream streamToPrint; string streamType; // This method will set properties on the PrintDialog object and // then display the dialog. public void StartPrint(Stream streamToPrint,string streamType) { this.streamToPrint=streamToPrint; this.streamType=streamType; // Allow the user to choose the page range he or she would // like to print. System.Windows.Forms.PrintDialog PrintDialog1=new PrintDialog ();//创建一个PrintDialog的实例。 PrintDialog1.AllowSomePages = true; // Show the help button. PrintDialog1.ShowHelp = true; // Set the Document property to the PrintDocument for // which the PrintPage Event has been handled. To display the // dialog, either this property or the PrinterSettings property // must be set PrintDialog1.Document = docToPrint;//把PrintDialog的Document属性设为上面配置好的PrintDocument的实例 DialogResult result = PrintDialog1.ShowDialog();//调用PrintDialog的ShowDialog函数显示打印对话框 源代码网推荐 源代码网供稿. |
