Comment : créer des travaux d'impression Windows Forms standard
Mise à jour : novembre 2007
L'élément clé de l'impression dans les Windows Forms est le composant PrintDocument, et plus spécialement l'événement PrintPage. En écrivant du code pour gérer l'événement PrintPage, vous pouvez spécifier les éléments à imprimer et les modalités d'impression.
Pour créer un travail d'impression
Ajoutez le composant PrintDocument au formulaire.
Écrivez du code pour gérer l'événement PrintPage.
Vous devez coder votre propre logique d'impression. En outre, vous devez spécifier le type d'élément à imprimer.
Dans l'exemple de code ci-dessous, un exemple de graphisme sous la forme d'un rectangle rouge est créé dans le gestionnaire d'événements PrintPage pour représenter l'élément à imprimer.
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# et Visual C++) Placez le code suivant dans le constructeur du formulaire pour inscrire le gestionnaire d'événements.
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);
Il est possible que vous souhaitiez également écrire du code pour les événements BeginPrint et EndPrint, en incluant éventuellement un nombre entier représentant le nombre total de pages à imprimer, nombre qui est décrémenté à mesure que les pages s'impriment.
Remarque : Vous pouvez ajouter un composant PrintDialog au formulaire pour offrir aux utilisateurs une interface utilisateur claire et efficace. La définition de la propriété Document du composant PrintDialog vous permet de définir des propriétés relatives au document d'impression utilisé dans votre formulaire. Pour plus d'informations sur le composant PrintDialog, consultez PrintDialog, composant (Windows Forms).
Pour plus d'informations sur les spécificités des travaux d'impression Windows Forms, et notamment la création d'un travail d'impression par programme, consultez PrintPageEventArgs.