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

<script type="text/javascript"> document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text = clipboardData.getData("text"); if (text && text.length>300) { text = text + "/r/n/n本文来自CSDN博客,转载请标明出处:" + location.href; clipboardData.setData("text", text); } }, 100); } } </script> <script type="text/javascript">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>

   最近在开发餐饮管理软件,界面上放了文本框之类用于输入的控件,当用户输入一个数据后按回车,自动跳到下一文本框,如果是最后一个文本框,表示输入完成回 车开始打印票据,为简化用户输入,每个文本框通常都有默认值,因此,绝大部分情况下按一下回车就可以了,熟练后通常只需修改少量数据,然后一路回车就完成 了,非常痛快,我采用了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、再进行其他处理。

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值