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.
Mise à jour : novembre 2007
Cet exemple montre comment imprimer une copie du formulaire en cours.
Exemple
[System.Runtime.InteropServices.DllImport("gdi32.dll")]
public static extern long BitBlt (IntPtr hdcDest, int nXDest, int nYDest,
int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, int dwRop);
private Bitmap memoryImage;
private void CaptureScreen()
{
Graphics mygraphics = this.CreateGraphics();
Size s = this.Size;
memoryImage = new Bitmap(s.Width, s.Height, mygraphics);
Graphics memoryGraphics = Graphics.FromImage(memoryImage);
IntPtr dc1 = mygraphics.GetHdc();
IntPtr dc2 = memoryGraphics.GetHdc();
BitBlt(dc2, 0, 0, this.ClientRectangle.Width,
this.ClientRectangle.Height, dc1, 0, 0, 13369376);
mygraphics.ReleaseHdc(dc1);
memoryGraphics.ReleaseHdc(dc2);
}
private void printDocument1_PrintPage(System.Object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(memoryImage, 0, 0);
}
private void printButton_Click(System.Object sender, System.EventArgs e)
{
CaptureScreen();
printDocument1.Print();
}
Compilation du code
Cet exemple nécessite :
Un composant PrintDocument nommé printDocument1 avec un gestionnaire d'événements PrintPage.
Un composant Button nommé printButton avec un gestionnaire d'événements Click.
Cet exemple de code remplace les gestionnaires d'événements existants. Un clic sur printButton permet d'imprimer le formulaire.
Programmation fiable
Les conditions ci-dessous peuvent générer une exception :
Vous n'avez pas l'autorisation d'accéder à l'imprimante.
Vous n'avez pas l'autorisation d'utiliser du code non managé.
Aucune imprimante n'est installée.
Sécurité
Pour exécuter cet exemple, vous devez avoir l'autorisation d'exécuter du code non managé et d'accéder à l'imprimante.
Voir aussi
Concepts
Conception d'une interface utilisateur en Visual C#