Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wanneer u een app ontwerpt, kunt u een formulier ontwerpen dat een afgedrukte pagina vertegenwoordigt. In het volgende codevoorbeeld ziet u hoe u een kopie van het huidige formulier kunt afdrukken met behulp van de methode CopyFromScreen.
Voorbeeld
Als u de voorbeeldcode wilt uitvoeren, voegt u twee onderdelen toe aan een formulier met de volgende instellingen:
| Voorwerp | Eigenschap\Gebeurtenis | Waarde |
|---|---|---|
| knop | Name |
Button1 |
Click |
Button1_Click |
|
| PrintDocument | Name |
PrintDocument1 |
PrintPage |
PrintDocument1_PrintPage |
De volgende code wordt uitgevoerd wanneer u selecteert Button1. De code maakt een Graphics object op basis van het formulier en slaat de inhoud ervan op in een Bitmap variabele met de naam memoryImage. De code roept de PrintDocument.Print methode aan, die de PrintPage gebeurtenis aanroept. De afdrukgebeurtenishandler tekent de memoryImage bitmap op het Graphics object van de printerpagina. Wanneer de code van de afdrukgebeurtenishandler wordt geretourneerd, wordt de pagina afgedrukt.
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
Robuuste programmering
De volgende voorwaarden veroorzaken een uitzondering:
- U bent niet gemachtigd om toegang te krijgen tot de printer.
- Er is geen printer geïnstalleerd.
.NET-beveiliging
Als u dit codevoorbeeld wilt uitvoeren, moet u gemachtigd zijn voor toegang tot de printer die u met uw computer gebruikt.
Zie ook
.NET Desktop feedback