2013-02-06 205 views
1

我有我的主窗体,然后启动一个新窗体。新形式在前面。我发送数据到打印机打开一个打印窗口弹出。 (打印到默认值,没有打印机选择)它然后默认回到我的第一个表格,我必须在1ms后在第二个表格上做一个BringtoFront。这是一个好的解决方案,因为它只是一个小点,但是有没有办法将所有打印窗口都弹出来,以便在后台打印?c#打印功能隐藏窗口

// 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(); 

回答

3

根据这一SO post,你应该能够隐藏通过执行以下打印对话框:

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

这是什么意思?

+0

完美!谢谢!!! –

+0

很高兴帮助!祝好运与您的其余项目。 – Sam