Partager via


Comment imprimer un formulaire

Au cours de la conception d’une application, vous pouvez concevoir un formulaire de telle façon qu’il représente une page imprimée. L’exemple de code suivant montre comment imprimer une copie du formulaire actif à l’aide de la CopyFromScreen méthode.

Exemple :

Pour exécuter l’exemple de code, ajoutez deux composants à un formulaire avec les paramètres suivants :

Objet Propriété - Événement Valeur
bouton Name Button1
Click Button1_Click
PrintDocument Name PrintDocument1
PrintPage PrintDocument1_PrintPage

Le code suivant est exécuté lorsqu'on clique sur Button1. Le code crée un Graphics objet à partir du formulaire et enregistre son contenu dans une Bitmap variable nommée memoryImage. La PrintDocument.Print méthode est appelée, qui appelle l’événement PrintPage . Le gestionnaire d'événements d'impression dessine la bitmap memoryImage sur l'objet Graphics de la page d'imprimante. Lorsque le code du gestionnaire d’événements d’impression est retourné, la page est imprimée.

namespace Sample_print_win_form1
{
    public partial class Form1 : Form
    {
        Bitmap memoryImage;
        public Form1()
        {
            InitializeComponent();
        }

        private void Button1_Click(object sender, EventArgs e)
        {
            Graphics myGraphics = this.CreateGraphics();
            Size s = this.Size;
            memoryImage = new Bitmap(s.Width, s.Height, myGraphics);
            Graphics memoryGraphics = Graphics.FromImage(memoryImage);
            memoryGraphics.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s);

            printDocument1.Print();
        }

        private void PrintDocument1_PrintPage(
           System.Object sender,
           System.Drawing.Printing.PrintPageEventArgs e)
        {
            e.Graphics.DrawImage(memoryImage, 0, 0);
        }
    }
}
Public Class Form1
    
    Dim memoryImage As Bitmap

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
         
        Dim myGraphics As Graphics = Me.CreateGraphics()
        Dim s As Size = Me.Size
        memoryImage = New Bitmap(s.Width, s.Height, myGraphics)
        Dim memoryGraphics As Graphics = Graphics.FromImage(memoryImage)
        memoryGraphics.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, s)
        
        PrintDocument1.Print()
        
    End Sub

    Private Sub PrintDocument1_PrintPage(
        ByVal sender As System.Object, 
        ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

        e.Graphics.DrawImage(memoryImage, 0, 0)
        
    End Sub
End Class

Programmation fiable

Les conditions suivantes provoquent une exception :

  • Vous n’êtes pas autorisé à accéder à l’imprimante.
  • Aucune imprimante n’est installée.

Sécurité .NET

Pour exécuter cet exemple de code, vous devez avoir l’autorisation d’accéder à l’imprimante que vous utilisez avec votre ordinateur.

Voir aussi