程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 在C#中實現打印功能(C#中PrintDialog,PrintDocument的使用)

在C#中實現打印功能(C#中PrintDialog,PrintDocument的使用)

編輯:C#入門知識

在C#中使用PrintDialog可以很方便的實現程序的打印功能。

其步驟如下:

  1. 創建一個PrintDialog的實例。如下:
    System.Windows.Forms.PrintDialog PrintDialog1=new PrintDialog ();
  2. 創建一個PrintDocument的實例.如下:
    System.Drawing.Printing.PrintDocument docToPrint =
       new System.Drawing.Printing.PrintDocument();
  3. 設置打印機開始打印的事件處理函數.函數原形如下:
    void docToPrint_PrintPage(object sender,
       System.Drawing.Printing.PrintPageEventArgs e)
  4. 將事件處理函數添加到PrintDocument的PrintPage事件中。
    docToPrint.PrintPage+=new PrintPageEventHandler(docToPrint_PrintPage);
  5. 設置PrintDocument的相關屬性,如:
    PrintDialog1.AllowSomePages = true;PrintDialog1.ShowHelp = true;
  6. 把PrintDialog的Document屬性設為上面配置好的PrintDocument的實例:
    PrintDialog1.Document = docToPrint;
  7. 調用PrintDialog的ShowDialog函數顯示打印對話框:
    DialogResult result = PrintDialog1.ShowDialog();
  8. 根據用戶的選擇,開始打印:
    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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved