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