Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podczas projektowania aplikacji można zaprojektować formularz reprezentujący wydrukowaną stronę. Poniższy przykład kodu pokazuje, jak wydrukować kopię bieżącego formularza przy użyciu metody CopyFromScreen.
Przykład
Aby uruchomić przykładowy kod, dodaj dwa składniki do formularza z następującymi ustawieniami:
| Przedmiot | Właściwość\Zdarzenie | Wartość |
|---|---|---|
| przycisk | Name |
Button1 |
Click |
Button1_Click |
|
| PrintDocument | Name |
PrintDocument1 |
PrintPage |
PrintDocument1_PrintPage |
Poniższy kod jest uruchamiany po wybraniu polecenia Button1. Kod tworzy Graphics obiekt z formularza i zapisuje jego zawartość w zmiennej Bitmap o nazwie memoryImage. Kod wywołuje metodę PrintDocument.Print , która wywołuje PrintPage zdarzenie. Procedura obsługi zdarzenia drukowania rysuje bitmapę memoryImage na obiekcie strony Graphics drukarki. Gdy zostanie zwrócony kod programu obsługi zdarzeń drukowania, strona zostanie wydrukowana.
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
Niezawodne programowanie
Następujące warunki powodują wyjątek:
- Nie masz uprawnień dostępu do drukarki.
- Nie zainstalowano drukarki.
Zabezpieczenia platformy .NET
Aby uruchomić ten przykład kodu, musisz mieć uprawnienia dostępu do drukarki używanej z komputerem.
Zobacz także
.NET Desktop feedback