2

我有我的主要表格,然后启动一个新表格。新表格在前面。我将数据发送到打开打印窗口弹出窗口的打印机。(打印为默认值,没有打印机可供选择)然后默认返回到我的第一个表单,我必须在 1 毫秒后在第二个表单上执行 BringtoFront。这是一个好的修复,因为它只是一个小问题,但是有没有办法将打印窗口弹出窗口全部隐藏起来,以便它只在后台打印?

// code to print

PrintDocument prnDocument;
string printername;              //Get the default printer name.                
prnDocument = new PrintDocument();
printername = Convert.ToString(prnDocument.PrinterSettings.PrinterName);

if (string.IsNullOrEmpty(printername))
    throw new Exception("No default printer is set.Printing failed!");               

prnDocument.PrintPage += new PrintPageEventHandler(prnDoc_PrintPage);
prnDocument.Print();
4

1 回答 1

4

根据这个SO post,您应该能够通过执行以下操作来隐藏打印对话框:

PrintDocument printDocument = new PrintDocument();
PrintController printController = new StandardPrintController();
printDocument.PrintController = printController;

你是这个意思吗?

于 2013-02-06T21:45:17.660 回答