`

C#打印时如何隐藏打印窗口

    博客分类:
  • C#
阅读更多

PrintDocument类进行打印,当使用PrintDocument.Print()时,会自动出现一个“正 在打印,第?页,共?页”这样一个窗口提醒用户,该窗口上只有一个“取消”按钮,看来微软是很人性化的,想得也很周到,但微软的人性化却给我带来了意想不 到的麻烦,前面说过了,用户通常是一路回车,当打印窗口出现时,上面只有一个取消按钮,用户按回车太顺手了,该窗口出现后,一回车,完了,打印取消了,如 何不显示该窗口了,在网上搜索了很久,都没有答案,现在终于解决了,在print前先使用下面的代码:

1、定义一个PrintDocument类:

System.Drawing.Printing.PrintDocument prnDocument = new System.Drawing.Printing.PrintDocument();

2、在print前先做如下处理:

prnDocument.PrintController = new System.Drawing.Printing.StandardPrintController();

3、再进行其他处理。

    也就是在平常的代码中,增加了上面的第二步,这时你会发现再也没有恼人的打印对话框了,至此,问题解决。

另外我发现,打印应该放到一个单独的线程中以实现异步打印,否则,打印的票据多了会莫名其妙地产生错误。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics