2014-02-17 45 views
0

我打印一個基本上是註冊表格的面板,幷包含3個小面板,但它只打印一個空白頁面......我嘗試了很多次,但沒有得到解決方案。在c中打印一個面板#

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(); 
+1

您似乎依賴PrintDocument的心靈感應能力。它如何知道你的memoryImage變量?爲其PrintPage事件編寫一個事件處理程序。 PrintDocument的MSDN庫文章不會忽略該文章。 –

回答

0

變化panel_stdadmcard.ClientRectanglenew Rectangle(0, 0, panel_stdadmcard.Width, panel_stdadmcard.Height)

1

你畫的面板爲位圖,但你永遠不使用它,如果這個代碼是完整的。 您應該實現printDocument的PrintPage-Event。 在那裏你應該使用DrawImage來繪製圖像。