Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’impression dans Windows Forms consiste principalement à utiliser le PrintDocument composant pour permettre à l’utilisateur d’imprimer. Le PrintPreviewDialog contrôle, PrintDialog, et les composants PageSetupDialog fournissent une interface graphique familière aux utilisateurs du système d’exploitation Windows.
Le PrintDialog composant est une boîte de dialogue préconfigurée utilisée pour sélectionner une imprimante, choisir les pages à imprimer et déterminer d’autres paramètres liés à l’impression dans les applications Windows. Il s’agit d’une solution simple pour les paramètres d’imprimante et d’impression au lieu de configurer votre propre boîte de dialogue. Vous pouvez permettre aux utilisateurs d’imprimer de nombreuses parties de leurs documents : imprimer tout, imprimer une plage de pages sélectionnée ou imprimer une sélection. En s’appuyant sur des boîtes de dialogue Windows standard, vous créez des applications dont les fonctionnalités de base sont immédiatement familières aux utilisateurs. Le PrintDialog composant hérite de la CommonDialog classe.
En règle générale, vous créez une nouvelle instance du composant PrintDocument et définissez les propriétés qui décrivent ce qu’il faut imprimer à l’aide des classes PrinterSettings et PageSettings. Appeler la Print méthode imprime réellement le document.
Utilisation du composant
Utilisez la méthode PrintDialog.ShowDialog pour afficher la boîte de dialogue au moment de l’exécution. Ce composant a des propriétés qui sont liées à un seul travail d’impression (PrintDocument classe) ou aux paramètres d’une imprimante individuelle (PrinterSettings classe). L’un des deux, à son tour, peut être partagé par plusieurs imprimantes.
La méthode afficher la boîte de dialogue vous permet d’ajouter une boîte de dialogue d’impression au formulaire. Le PrintDialog composant apparaît dans la barre d’état en bas du Concepteur Windows Forms dans Visual Studio.
Comment capturer l’entrée utilisateur à partir d’un PrintDialog au moment de l’exécution
Vous pouvez définir des options relatives à l’impression au moment du design. Parfois, vous souhaiterez peut-être modifier ces options au moment de l’exécution, probablement en raison des choix effectués par l’utilisateur. Vous pouvez capturer les saisies utilisateur pour l’impression d’un document à l’aide des composants PrintDialog et PrintDocument. Les étapes suivantes illustrent l’affichage de la boîte de dialogue d’impression d’un document :
Ajoutez un composant PrintDialog et un PrintDocument à votre formulaire.
Définissez la propriété Document du PrintDialog sur le PrintDocument ajouté au formulaire.
PrintDialog1.Document = PrintDocument1printDialog1.Document = printDocument1;Affichez le composant PrintDialog à l’aide de la méthode ShowDialog.
If PrintDialog1.ShowDialog() = DialogResult.OK Then PrintDocument1.Print() End If// display show dialog and if user selects "Ok" document is printed if (printDialog1.ShowDialog() == DialogResult.OK) printDocument1.Print();Les choix d’impression de l’utilisateur dans la boîte de dialogue sont copiés dans la PrinterSettings propriété du PrintDocument composant.
Comment créer des travaux d’impression
La base de l’impression dans Windows Forms est le composant PrintDocument, plus précisément, l’événement PrintPage. En écrivant du code pour gérer l’événement PrintPage, vous pouvez spécifier ce qu’il faut imprimer et comment l’imprimer. Les étapes suivantes illustrent la création d’un travail d’impression :
Ajoutez un composant PrintDocument à votre formulaire.
Écrivez du code pour gérer l’événement PrintPage.
Vous devez coder votre propre logique d’impression et spécifier le matériau à imprimer.
En tant que matériau à imprimer, dans l’exemple de code suivant, un exemple de graphique dans la forme d’un rectangle rouge est créé dans le PrintPage gestionnaire d’événements.
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(100, 100, 100, 100)) End Subprivate void PrintDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e) => e.Graphics.FillRectangle(Brushes.Red, new Rectangle(100, 100, 100, 100));
Vous pouvez également écrire du code pour les événements BeginPrint et EndPrint. Il est utile d’inclure un entier représentant le nombre total de pages à imprimer, qui est décrémenté à mesure que chaque page est imprimée.
Remarque
Vous pouvez ajouter un composant PrintDialog à votre formulaire pour fournir une interface utilisateur propre et efficace à vos utilisateurs. La définition de la Document propriété du PrintDialog composant vous permet de définir des propriétés liées au document d’impression que vous utilisez sur votre formulaire.
Pour plus d’informations sur les spécificités des travaux d’impression Windows Forms, notamment sur la création d’un travail d’impression par programmation, consultez PrintPageEventArgs.
Procédure d’exécution des travaux d’impression
Fréquemment, les processeurs de texte et d’autres applications qui impliquent l’impression offrent la possibilité d’afficher un message aux utilisateurs qu’une tâche d’impression est terminée. Vous pouvez fournir cette fonctionnalité dans vos Windows Forms en gérant l’événement EndPrint du PrintDocument composant.
La procédure suivante nécessite que vous ayez créé une application Windows avec un composant PrintDocument. Cette procédure est la méthode standard d’activation de l’impression à partir d’une application Windows. Pour plus d’informations sur l’impression à partir de Windows Forms à l’aide du PrintDocument composant, consultez Comment créer des travaux d’impression.
Définissez la DocumentName propriété du PrintDocument composant.
PrintDocument1.DocumentName = "SamplePrintApp"printDocument1.DocumentName = "SamplePrintApp";Écrivez du code pour gérer l’événement EndPrint.
Dans l’exemple de code suivant, une zone de message s’affiche, indiquant que le document a terminé l’impression.
Private Sub PrintDocument1_EndPrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintEventArgs) Handles PrintDocument1.EndPrint MessageBox.Show(PrintDocument1.DocumentName + " has finished printing.") End Subprivate void PrintDocument1_EndPrint(object sender, System.Drawing.Printing.PrintEventArgs e) => MessageBox.Show(printDocument1.DocumentName + " has finished printing.");
.NET Desktop feedback