Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du utformar en app kan du utforma ett formulär som representerar en utskriven sida. I följande kodexempel visas hur du skriver ut en kopia av det aktuella formuläret med hjälp av metoden CopyFromScreen.
Exempel
Om du vill köra exempelkoden lägger du till två komponenter i ett formulär med följande inställningar:
| Objekt | Egenskap\Händelse | Värde |
|---|---|---|
| knapp | Name |
Button1 |
Click |
Button1_Click |
|
| PrintDocument | Name |
PrintDocument1 |
PrintPage |
PrintDocument1_PrintPage |
Följande kod körs när du väljer Button1. Koden skapar ett Graphics objekt från formuläret och sparar innehållet i en Bitmap variabel med namnet memoryImage. Koden anropar PrintDocument.Print metoden som anropar PrintPage händelsen. Händelsehanteraren för utskrift ritar bitmappen memoryImage på skrivarsidans Graphics objekt. När utskriftshändelsehanterarkoden returneras skrivs sidan ut.
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
Robust programmering
Följande villkor orsakar ett undantag:
- Du har inte behörighet att komma åt skrivaren.
- Det finns ingen skrivare installerad.
.NET-säkerhet
Om du vill köra det här kodexemplet måste du ha behörighet att komma åt den skrivare som du använder med datorn.
Se även
.NET Desktop feedback