如何使用Print Dialog Windows应用程序C#打印Panel Control的内容 [英] How Can printing Contents of Panel Control using Print Dialog Windows Applications C#
本文介绍了如何使用Print Dialog Windows应用程序C#打印Panel Control的内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使用Print Dialog Windows应用程序打印Panel Control的内容C#
How Can printing Contents of Panel Control using Print Dialog Windows Applications C#
推荐答案
我可能错了,但请看一下,
http://rkinfopedia.blogspot.in/2008/07/printing- content-of-panel-control.html [ ^ ]
I might be wrong, but take a look here,
http://rkinfopedia.blogspot.in/2008/07/printing-contents-of-panel-control.html[^]
//Make reference to following Libraries
using System.Drawing;
using System.Drawing.Printing ;
using System.ComponentModel;
using System.Drawing.Drawing2D;
using System.IO;
using System.Drawing.Imaging;
//Declare following Object Variables
PrintDocument printdoc1 = new PrintDocument();
PrintPreviewDialog previewdlg = new PrintPreviewDialog();
Panel pannel = null;
//Declare event handler for printing in constructor
printdoc1.PrintPage += new PrintPageEventHandler(printdoc1_PrintPage);
Bitmap MemoryImage;
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)
{
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 )-(pannel.Width /2) ,pannel.Location.Y);
}
public void Print(Panel pnl)
{
pannel = pnl;
GetPrintArea(pnl);
previewdlg.Document = printdoc1;
previewdlg.ShowDialog();
}
-KR
-KR
这篇关于如何使用Print Dialog Windows应用程序C#打印Panel Control的内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文