C# Print Page Setings Yardım...
-
Merhaba;
C#ta oluşturdugum bir formun daha dogrusu panelin çıktısını almak istiyorum ama resimde görüldüğü gibi bir hata alıyorum, panelin yarısı basılıyor. Marginleri falan 0 yaptım ama yine düzelmedi. Alacağım print alanı panelde görüldüğü gibi olması gerekiyor. Bilgisi olan arkadaşlardan ricamız olur..
-
Selamlar hocam source u paylaşabilirsen yardımcı olabilirim
-
PLaXToR bunu yazdı
Selamlar hocam source u paylaşabilirsen yardımcı olabilirim
private void btnYazdir_Click(object sender, EventArgs e)
{
Print(this.pnlPreview);
}
#region PrintFunctions
PrintDocument printDocument = new PrintDocument();
Bitmap MemoryImage;
public void GetPrintArea(Panel pnl)
{
MemoryImage = new Bitmap(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);
}
}
void printdoc1_PrintPage(object sender, PrintPageEventArgs e)
{
Rectangle pagearea = e.PageBounds;
e.Graphics.DrawImage(MemoryImage, (pagearea.Width / 2) - (this.pnlPreview.Width / 2), this.pnlPreview.Location.Y);
e.PageSettings.Margins.Bottom = 0;
e.PageSettings.Margins.Left =0;
e.PageSettings.Margins.Right = 0;
e.PageSettings.Margins.Top = 0;
}
public void Print(Panel pnl)
{
GetPrintArea(pnl);
previewdlg.Document = printDocument;
previewdlg.ShowDialog();
}
buyur hocam
-
Hocam şu satırı
---
e.Graphics.DrawImage(MemoryImage, (pagearea.Width / 2) - (this.pnlPreview.Width / 2), this.pnlPreview.Location.Y);
---
Bununla değiştiririp denermisin?
---
e.Graphics.DrawImage(MemoryImage, (pagearea.Width) - (this.pnlPreview.Width / 2), this.pnlPreview.Location.Y);
---
-
PLaXToR bunu yazdı
Hocam şu satırı
---
e.Graphics.DrawImage(MemoryImage, (pagearea.Width / 2) - (this.pnlPreview.Width / 2), this.pnlPreview.Location.Y);
---
Bununla değiştiririp denermisin?
---
e.Graphics.DrawImage(MemoryImage, (pagearea.Width) - (this.pnlPreview.Width / 2), this.pnlPreview.Location.Y);
---
Böyle çıktı hocam
-
e.Graphics.DrawImage(MemoryImage, this.pnlPreview.Location.X, this.pnlPreview.Location.Y);
direk böyle yaptığında ki çıktıyı verirmisin?
-
PLaXToR bunu yazdı
e.Graphics.DrawImage(MemoryImage, this.pnlPreview.Location.X, this.pnlPreview.Location.Y);
direk böyle yaptığında ki çıktıyı verirmisin?
Hocam kalbin gibi temiz boş bir sayfa verdi çıktı olarak :)
-
Hocam son olarak
e.Graphics.DrawImage(MemoryImage, this.pnlPreview.Width, this.pnlPreview.Height);
öneririm. Olmazsa akşama bakabilirim :)
-
PLaXToR bunu yazdı
Hocam son olarak
e.Graphics.DrawImage(MemoryImage, this.pnlPreview.Width, this.pnlPreview.Height);
öneririm. Olmazsa akşama bakabilirim :)
Yine boş form verdi hocam :( Müsait oldugun zaman bakalım öyleyse :)
-
sorun y koordinatinda hocam, this.pnlPreview.Location.Y yerine 0 yaz