Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Im Verlauf des Entwerfens einer App können Sie ein Formular so entwerfen, dass es eine gedruckte Seite darstellt. Im folgenden Codebeispiel wird gezeigt, wie eine Kopie des aktuellen Formulars mithilfe der CopyFromScreen-Methode gedruckt wird.
Beispiel
Um den Beispielcode auszuführen, fügen Sie einem Formular zwei Komponenten mit den folgenden Einstellungen hinzu:
Objekt | Eigenschaft\Ereignis | Wert |
---|---|---|
Schaltfläche | Name |
Button1 |
Click |
Button1_Click |
|
PrintDocument | Name |
PrintDocument1 |
PrintPage |
PrintDocument1_PrintPage |
Der folgende Code wird ausgeführt, wenn auf die Button1
Schaltfläche geklickt wird. Der Code erstellt ein Graphics
Objekt aus dem Formular und speichert seinen Inhalt in einer Bitmap
Variablen mit dem Namen memoryImage
. Die PrintDocument.Print Methode wird aufgerufen, wodurch das PrintPage Ereignis aufgerufen wird. Der Druckereignishandler zeichnet die memoryImage
-Bitmap auf das Graphics
-Objekt der Druckerseite. Wenn der Druckereignishandlercode zurückgegeben wird, wird die Seite gedruckt.
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
Stabile Programmierung
Die folgenden Bedingungen verursachen eine Ausnahme:
- Sie sind nicht berechtigt, auf den Drucker zuzugreifen.
- Es ist kein Drucker installiert.
.NET-Sicherheit
Zum Ausführen dieses Codebeispiels benötigen Sie die Berechtigung für den Zugriff auf den Drucker, den Sie mit Ihrem Computer verwenden.
Siehe auch
.NET Desktop feedback