Gewusst wie: Erstellen von standardmäßigen Druckaufträgen in Windows Forms

Aktualisiert: November 2007

Die Grundlage für das Drucken in Windows Forms bildet die PrintDocument-Komponente, genauer gesagt das PrintPage-Ereignis. Indem Sie zur Behandlung des PrintPage-Ereignisses Code schreiben, geben Sie an, was gedruckt werden soll und wie der Druck zu erfolgen hat.

So erstellen Sie einen Druckauftrag

  1. Fügen Sie dem Formular eine PrintDocument-Komponente hinzu.

  2. Schreiben Sie Code zur Behandlung des PrintPage-Ereignisses.

    Sie müssen Code für Ihre eigene Drucklogik erstellen. Darüber hinaus müssen Sie das zu druckende Material angeben.

    Im folgenden Codebeispiel wird im PrintPage-Ereignishandler eine Beispielgrafik in Form eines roten Rechtecks erstellt, die als zu druckendes Material fungieren soll.

    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(Object sender,
    System.Drawing.Printing.PrintPageEventArgs e)
    {
       e.get_Graphics().FillRectangle(Brushes.get_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 J# und Visual C++) Fügen Sie den folgenden Code im Konstruktor des Formulars ein, um den Ereignishandler zu registrieren.

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

    Unter Umständen muss auch Code für das BeginPrint-Ereignis und das EndPrint-Ereignis geschrieben werden, wobei gegebenenfalls die Anzahl der noch zu druckenden Seiten durch eine ganze Zahl dargestellt wird, die bei jeder gedruckten Seite verringert wird.

    Hinweis:

    Sie können dem Formular eine PrintDialog-Komponente hinzufügen, um Benutzern eine übersichtliche und effiziente Benutzeroberfläche (UI) zur Verfügung zu stellen. Durch Festlegen der Document-Eigenschaft der PrintDialog-Komponente können Sie Eigenschaften festlegen, die mit dem Druckdokument auf dem Formular verbunden sind. Weitere Informationen über die PrintDialog-Komponente finden Sie unter PrintDialog-Komponente (Windows Forms).

    Weitere Informationen zu den Besonderheiten von Druckaufträgen in Windows Forms, z. B. zur programmgesteuerten Erstellung eines Druckauftrags, finden Sie unter PrintPageEventArgs.

Siehe auch

Referenz

PrintDocument

Weitere Ressourcen

Druckunterstützung in Windows Forms