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
Fügen Sie dem Formular eine PrintDocument-Komponente hinzu.
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.