Form yazdırma (Windows Forms .NET)
Geliştirme sürecinin bir parçası olarak genellikle Windows Formunuzun bir kopyasını yazdırmak istersiniz. Aşağıdaki kod örneği, yöntemini kullanarak geçerli formun bir kopyasının nasıl yazdırılacağını CopyFromScreen gösterir.
Aşağıdaki örnekte, forma Button1 adlı bir düğme eklenir. Düğme1 düğmesine tıklandığında, formu bellekteki bir görüntüye kaydeder ve sonra yazdırma nesnesine gönderir.
Örnek
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 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
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
End Class
Sağlam programlama
Aşağıdaki koşullar özel bir duruma neden olabilir:
Yazıcıya erişim izniniz yok.
Yüklü yazıcı yok.
.NET güvenliği
Bu kod örneğini çalıştırmak için, bilgisayarınızla kullandığınız yazıcıya erişim izniniz olmalıdır.
Ayrıca bkz.
.NET Desktop feedback
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin