PDA

View Full Version : پرینت در سی شارپ



mh.milan
پنج شنبه 17 دی 1388, 19:11 عصر
سلام دوستان

من به مشکل در زمینه پرینت کردن یک پنل در سی شارپ برخوردم.

کدی که نوشتم به شکل زیر هستش. اما وقتی پرینت میکنه ، پنل رو وسط صفحه آچار پرینت نمیکنه، اگه بتونید تغییراتی در کد اعمال کنید که پنل رو وسط صفحه آچار چاپ کنه ، ممنون میشم.

با تشکر


namespace project

public class PrintClass
{
readonly PrintDocument printdoc1 = new PrintDocument();
readonly PrintPreviewDialog previewdlg = new PrintPreviewDialog();
Bitmap MemoryImage;

private readonly Panel panel_;

public PrintClass(Panel pnl)
{
panel_ = pnl;

printdoc1.PrintPage += (printdoc1_PrintPage);
MemoryImage = new Bitmap(pnl.Width, pnl.Height);
}

private void GetPrintArea(Control pnl)
{
MemoryImage = new Bitmap(pnl.Width, pnl.Height);
pnl.DrawToBitmap(MemoryImage, new Rectangle(0, 0, pnl.Width, pnl.Height));
}

private void printdoc1_PrintPage(object sender, PrintPageEventArgs e)
{
var pagearea = e.PageBounds;
e.Graphics.DrawImage(MemoryImage, (pagearea.Width / 2) - (panel_.Width / 2), panel_.Location.Y);
}

public void Print()
{
GetPrintArea(panel_);
previewdlg.Document = printdoc1;
previewdlg.ShowDialog();
}
}
}

محمد علی طوفانی
پنج شنبه 17 دی 1388, 22:33 عصر
سلام
ببین کارت را راه مینداره یا نه

http://www.codeproject.com/KB/printing/PrintingFormReport.aspx
http://www.codeproject.com/KB/list/PrintableListView.aspx
http://www.codeproject.com/KB/printing/PrintingOfDataGridView.aspx
http://www.codeproject.com/KB/printing/QPrint.aspx
http://www.codeproject.com/KB/printing/DGVPrinter.aspx
http://www.codeproject.com/KB/printing/MCLFormPrintControl.aspx