Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V průběhu návrhu aplikace můžete navrhnout formulář tak, aby představoval vytištěnou stránku. Následující příklad kódu ukazuje, jak vytisknout kopii aktuálního formuláře pomocí CopyFromScreen metody.
Příklad
Pokud chcete spustit ukázkový kód, přidejte do formuláře dvě komponenty s následujícím nastavením:
| Objekt | Vlastnost\Událost | Hodnota |
|---|---|---|
| tlačítko | Name |
Button1 |
Click |
Button1_Click |
|
| PrintDocument | Name |
PrintDocument1 |
PrintPage |
PrintDocument1_PrintPage |
Po kliknutí se Button1 spustí následující kód. Kód vytvoří Graphics objekt z formuláře a uloží jeho obsah do Bitmap proměnné s názvem memoryImage. Volá se PrintDocument.Print metoda, která vyvolá PrintPage událost. Obslužná rutina události tisku nakreslí memoryImage rastrový obrázek na objektu stránky tiskárny Graphics . Když se vrátí kód obslužné rutiny tiskové události, vytiskne se stránka.
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
Robustní programování
Následující podmínky způsobují výjimku:
- Nemáte oprávnění pro přístup k tiskárně.
- Není nainstalovaná žádná tiskárna.
Zabezpečení .NET
Pokud chcete spustit tento příklad kódu, musíte mít oprávnění pro přístup k tiskárně, kterou používáte se svým počítačem.
Viz také
.NET Desktop feedback