当我MyPrintDocument.print()在用C#编写的Windows应用程序中使用时,会显示一个带有取消按钮的Windows处理打印例程的对话框.我不想显示这个对话框,有可能吗?
如果没有,我应该使用哪种方式?我的程序使用热敏打印机.
Mar*_*all 19
你在使用哪个PrintController.
.NET Framework包含三个打印控制器,这些打印控制器源自
PrintController帮助完成常见任务.将StandardPrintController文档打印到打印机.在PreviewPrintController生成的文档的外观打印,并使用的时候就像一个预览PrintPreviewControl和PrintPreviewDialog类.该PrintControllerWithStatusDialog规定在打印过程中的打印状态对话框.
听起来你正在使用.PrintControllerWithStatusDialog PrintController
警告:我无法证实基本PrintController行为不一样.
根据这个MSDN论坛发布的PrintControllerWithStatusDialog是默认值:
他建议这样的事情:
MyPrintDocument.PrintController = new System.Drawing.Printing.StandardPrintController();
Run Code Online (Sandbox Code Playgroud)
如果您不分配该PrintDocument.PrintController属性,那么您将获得一个默认的打印控制器。一个实例PrintControllerWithStatusDialog显示进度对话框,计算页面并通常通知用户程序由于某种原因无响应但未挂起。
只需在表单构造函数中重新分配它。样板代码是:
Public Class Form1
Public Sub New()
InitializeComponent()
PrintDocument1.PrintController = New System.Drawing.Printing.StandardPrintController
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
而且您必须做其他事情来告诉用户打印正在进行中。至少显示一个沙漏光标。