如何:创建标准的 Windows 窗体打印作业

在 Windows 窗体中打印的基础是 PrintDocument 组件,更具体地说是 PrintPage 事件。 通过编写代码来处理 PrintPage 事件,可指定要打印的内容和打印方式。

创建打印作业

  1. PrintDocument 组件添加到窗体。

  2. 编写代码以处理 PrintPage 事件。

    必须编写自己的打印逻辑。 此外,还必须指定要打印的材料。

    在以下代码示例中,在 PrintPage 事件处理程序中创建了一个红色矩形形状的示例图形,以作为要打印的材料。

    Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage  
       e.Graphics.FillRectangle(Brushes.Red, New Rectangle(500, 500, 500, 500))  
    End Sub  
    
    private void printDocument1_PrintPage(object sender,
    System.Drawing.Printing.PrintPageEventArgs e)  
    {  
       e.Graphics.FillRectangle(Brushes.Red,
         new Rectangle(500, 500, 500, 500));  
    }  
    
    private:  
       void printDocument1_PrintPage(System::Object ^ sender,  
          System::Drawing::Printing::PrintPageEventArgs ^ e)  
       {  
          e->Graphics->FillRectangle(Brushes::Red,  
             Rectangle(500, 500, 500, 500));  
       }  
    

    (Visual C# 和 Visual C++)将以下代码放在窗体的构造函数中以注册事件处理程序。

    this.printDocument1.PrintPage += new  
       System.Drawing.Printing.PrintPageEventHandler  
       (this.printDocument1_PrintPage);  
    
    printDocument1->PrintPage += gcnew  
       System::Drawing::Printing::PrintPageEventHandler  
       (this, &Form1::printDocument1_PrintPage);  
    

    可能还想为 BeginPrintEndPrint 事件编写代码,其中可能包括一个整数,该整数表示要打印的总页数,每打印一页就会递减。

    注意

    可以将 PrintDialog 组件添加到窗体中,以便为用户提供简洁高效的用户界面 (UI)。 通过设置 PrintDialog 组件的 Document 属性,可以设置与在窗体上使用的打印文档相关的属性。 有关 PrintDialog 组件的详细信息,请参阅 PrintDialog 组件

    有关 Windows 窗体打印作业细节(包括如何以编程方式创建打印作业)的详细信息,请参阅 PrintPageEventArgs

另请参阅