Cshap'ta ufak bir bakod uygulaması yapıyorum. Oluşturduğum barkodu yazdırırken bir problem yaşıyorum. Amacım Panel üzerine yazdırdığım barkod görüntüsünü Print Preview Dialog yardımıyla görüntüleyip yazdırmak. Ancak önizleme sayfasında sadece panelin arka planı gözüküyor, yani barkod görüntüsü gözükmüyor.
Yazdırma işlemi için kullandığım kodlar ;
private void btnPrint_Click(object sender, EventArgs e)
{
Print(panel1);
}
Bitmap MemoryImage;
PrintPreviewDialog previewdlg = new PrintPreviewDialog();
public void GetPrintArea(Panel pnl)
{
MemoryImage = new Bitmap(pnl.Width, pnl.Height);
Rectangle rect = new Rectangle(0, 0, pnl.Width, pnl.Height);
pnl.DrawToBitmap(MemoryImage, new Rectangle(0, 0, pnl.Width, pnl.Height));
}
protected override void OnPaint(PaintEventArgs e)
{
if (MemoryImage != null)
{
e.Graphics.DrawImage(MemoryImage, 0, 0);
base.OnPaint(e);
}
}
public void Print(Panel pnl)
{
GetPrintArea(pnl);
printPreviewDialog1.Document = printDocument1;
printPreviewDialog1.ShowDialog();
}
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
Rectangle pagearea = e.PageBounds;
e.Graphics.DrawImage(MemoryImage, (pagearea.Width / 2) - (this.panel1.Width / 2), this.panel1.Location.Y);
}

Yardımlarınızı bekliyorum, Teşekkürler...