0
양식을 인쇄하려고합니다. (상단에 다른 표 레이 아웃 패널에 4 개의 colomns가있는 tablelauyout이 있는데 그 위에 인쇄 할 레이블이 있습니다.) 그러나 빈 페이지 만 가져옵니다.양식을 출력하는 중
public void PrintPanel()
{
PrintDocument printdoc = new PrintDocument();
PrintDialog myPrintDialog = new PrintDialog();
memoryImage = new Bitmap(this.Width, this.Height);
this.tableLayoutPanel1.DrawToBitmap(memoryImage, this.ClientRectangle);
if (myPrintDialog.ShowDialog() == DialogResult.OK)
{
printdoc.PrintPage += printdoc_PrintPage;
System.Drawing.Printing.PrinterSettings values;
values = myPrintDialog.PrinterSettings;
myPrintDialog.Document = printdoc;
printdoc.PrintController = new StandardPrintController();
printdoc.Print();
}
memoryImage.Dispose();
printdoc.Dispose();
}
void printdoc_PrintPage(object sender, PrintPageEventArgs e)
{
e.Graphics.DrawImage(memoryImage, 10, 10);
}
그래서 'memoryImage'를 폴더에 저장했지만 이것도 비어 있습니다. 그래서 내가 잘못 생각한 것입니까? 양식을 표시 할 때 .Show()
으로 양식이 호출되지 않습니다. 코드가 올바르게 인쇄되지만 사용자가이를 보지 못하도록하고 싶습니다.
아직 렌더링되지 않은 양식을 인쇄하려고합니다. 맞습니까? 가능한 의심. 아마도 그것을 보여 주지만 불가능한 오프 스크린 위치로 옮기겠습니까? 'this.Location = new Point (-2000, -2000)'또는 그런 것. 목표에 대한 자세한 내용은 더 나은 솔루션을 찾는 데 도움이 될 수 있습니다. – DonBoitnott
지금은 어떻게 양식을 표시하고 그것을 숨길 수 있습니까?하지만 printdialog가 화면을 튕겨 내면 화면이 고르지 않게되므로 피할 수있는 방법이 있기를 바랍니다. 그렇지 않으면 사용자는 익숙해 져야합니다. – Cageman