C#打印时如何隐藏打印窗口
2011-10-14 09:52
288 查看
http://blog.csdn.net/gatr/article/details/1473882
最近在开发快件行包管理软件,在界面上放了一堆文本框之类用于输入的控件,当用户输入一个数据后按回车,自动跳到下一文本框,如果是最后一个文本框,表示输入完成,立即开始打印票据,为简化用户输入,每个文本框通常都有默认值,因此,绝大部分情况下按一下回车就可以了,用熟练后通常只需修改少量数据,然后一路回车就完成了一张单子的录入,非常痛快,我采用了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、再进行其他处理。
也就是在平常的代码中,增加了上面的第二步,这时你会发现再也没有恼人的打印对话框了,至此,问题解决。
另外我发现,打印应该放到一个单独的线程中以实现异步打印,否则,打印的票据多了会莫名其妙地产生错误
最近在开发快件行包管理软件,在界面上放了一堆文本框之类用于输入的控件,当用户输入一个数据后按回车,自动跳到下一文本框,如果是最后一个文本框,表示输入完成,立即开始打印票据,为简化用户输入,每个文本框通常都有默认值,因此,绝大部分情况下按一下回车就可以了,用熟练后通常只需修改少量数据,然后一路回车就完成了一张单子的录入,非常痛快,我采用了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、再进行其他处理。
也就是在平常的代码中,增加了上面的第二步,这时你会发现再也没有恼人的打印对话框了,至此,问题解决。
另外我发现,打印应该放到一个单独的线程中以实现异步打印,否则,打印的票据多了会莫名其妙地产生错误
相关文章推荐
- C#打印时如何隐藏打印窗口
- C#打印时如何隐藏打印窗口
- C#打印时如何隐藏打印窗口
- C# WINForm 如何关闭系统进程,调用cmd并执行命令(隐藏CMD窗口) - 赤色火焰 - 京华志
- C# windows form如何隐藏窗口?
- C# Process执行cmd指令,实时获取输出并隐藏cmd窗口
- C#.NET常见问题(FAQ)-如何不显示窗口的关闭按钮
- [ASP.NET]如何点击按钮弹出新窗口,输入数据后返回并刷新页面?(C#代码)
- 如何隐藏已知句柄的窗口
- 如何使用C#里面的打印技术
- 如何用C#做一个悬浮窗口程序
- c# 如何用SplitContainer将From分割成上下两部分 即纵向分割窗口
- C#隐藏主窗口的方法
- C#窗口隐藏/关闭/居中
- C# Form 点击关闭按钮 如何隐藏
- 如何隐藏win32 console application的console窗口
- C# 控制台程序 隐藏控制台窗口
- 如何将Win32 console运行后的窗口隐藏
- 如何隐藏win32 console application的console窗口
- 如何点击按钮弹出新窗口,输入数据后返回并刷新页面?(C#代码)