当我MyPrintDocument.print()
在用 C# 编写的 Windows 应用程序中使用时,会显示一个对话框,用于处理带有取消按钮的 Windows 处理打印例程。我不希望显示此对话框,可以吗?
如果没有,我应该使用哪种方式?我的程序使用热敏打印机。
您使用的是哪个PrintController 。
.NET Framework 包括三个派生自
PrintController
帮助完成常见任务的打印控制器。将StandardPrintController
文档打印到打印机。PreviewPrintController
生成文档在打印时的预览,并由和PrintPreviewControl
类PrintPreviewDialog
使用。在PrintControllerWithStatusDialog
打印过程中提供打印状态对话框。
听起来您正在使用.PrintControllerWithStatusDialog
PrintController
警告:我无法验证基本的PrintController
行为方式不同。
根据this MSDN Forum Posting,这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
而且您必须做其他事情来告诉用户打印正在进行中。至少显示一个沙漏光标。