[英]PrintDocument.Print is slow unless user is logged in to the printing computer
[英]How to skip the dialog of printing in printDocument.print() and print page directly?
当我在用C#编写的Windows应用程序中使用MyPrintDocument.print()
,将为Windows处理对话框显示一个带有取消按钮的对话框。 我不希望显示此对话框,可以吗?
如果没有,我应该使用哪种方式? 我的程序使用热敏打印机。
您正在使用哪个PrintController 。
.NET Framework包括三个从
PrintController
派生的打印控制器,它们可以帮助完成常见任务。StandardPrintController
将文档打印到打印机。PreviewPrintController
生成打印时文档外观的预览,并由PrintPreviewControl
和PrintPreviewDialog
类使用。PrintControllerWithStatusDialog
在打印过程中提供打印状态对话框。
听起来您正在使用PrintControllerWithStatusDialog
PrintController
。
警告:我无法验证基本的PrintController
不会以相同的方式运行。
根据此MSDN论坛 ,默认情况下, 发布 PrintControllerWithStatusDialog
:
他建议如下:
MyPrintDocument.PrintController = new System.Drawing.Printing.StandardPrintController();
如果不分配PrintDocument.PrintController
属性,则将获得默认的打印控制器。 一个PrintControllerWithStatusDialog
的实例,它显示进度对话框,对页面进行计数,并通常通知用户该程序由于某种原因没有响应,但没有挂起。
只需在表单构造函数中重新分配它即可。 样板代码为:
Public Class Form1
Public Sub New()
InitializeComponent()
PrintDocument1.PrintController = New System.Drawing.Printing.StandardPrintController
End Sub
End Class
而且,您还必须执行其他操作以告知用户正在进行打印。 至少显示一个沙漏光标 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.