C# 用c语言打印面板#
我正在打印一个面板,它基本上是一个登记表,包含3个小面板,但它只打印一个空白页。。。我试了很多次,但没有找到解决办法C# 用c语言打印面板#,c#,printing,panel,C#,Printing,Panel,我正在打印一个面板,它基本上是一个登记表,包含3个小面板,但它只打印一个空白页。。。我试了很多次,但没有找到解决办法 PrintDialog myPrintDialog = new PrintDialog(); System.Drawing.Bitmap memoryImage = new System.Drawing.Bitmap(panel_stdadmcard.Width, panel_stdadmcard.Height); panel_stdadmcard.DrawToBitmap(me
PrintDialog myPrintDialog = new PrintDialog();
System.Drawing.Bitmap memoryImage = new System.Drawing.Bitmap(panel_stdadmcard.Width, panel_stdadmcard.Height);
panel_stdadmcard.DrawToBitmap(memoryImage, panel_stdadmcard.ClientRectangle);
PrintDocument printDocument1 = new PrintDocument();
if (myPrintDialog.ShowDialog() == DialogResult.OK)
{
System.Drawing.Printing.PrinterSettings values;
values = myPrintDialog.PrinterSettings;
myPrintDialog.Document = printDocument1;
printDocument1.PrintController = new StandardPrintController();
printDocument1.Print();
}
printDocument1.Dispose();
将
panel\u stdadmcard.ClientRectangle
更改为新矩形(0,0,panel\u stdadmcard.Width,panel\u stdadmcard.Height)
将面板绘制为位图,但如果此代码完成,则永远不会使用它。
您应该实现printDocument的PrintPage事件。
在那里,您应该使用DrawImage来绘制图像。您似乎依赖PrintDocument的心灵感应能力。它是如何知道memoryImage变量的?为其PrintPage事件编写事件处理程序。PrintDocument的MSDN库文章没有忽略这一点。