【发布时间】:2011-09-10 08:43:12
【问题描述】:
我正在我的应用程序中使用PrintDocument 进行一些自定义打印。当我们的项目成功打印时,我需要记录。我最初是通过以下方式实现的:
print_doc.EndPrint += (o,e) => printed_callback ();
让我的printed_callback 在打印完成时被调用。但是,现在我添加了预览支持,我将以完全相同的方式将PrintDocument 传递给PrintPreviewDialog。这样做会导致在预览所需的打印输出初始呈现之后调用EndPrint 事件。
因此,即使用户单击“预览”然后关闭预览,我们的日志记录代码也会被调用。
关于如何区分真实打印输出和“预览打印”的任何建议?不幸的是,我不能只是不连接到EndPrint,因为用户可能会单击预览对话框中的“打印”按钮并触发打印输出。
【问题讨论】: