如何在扩展的 OnBeginPrint 方法中取消打印?

How to cancel a print in extended OnBeginPrint method?

我创建了一个用于打印标签的 win 表单应用程序,它运行良好。 唯一的问题是当内容超过标签大小时,内容会被截断。我想在内容长度大于标签高度时显示通知。一个可能的计算位置是在方法 OnBeginPrint() 中,我在其中获取所有参数来计算尺寸。 但是我没有找到任何参数或 属性 可以在条件失败时取消打印。请分享您对此的看法。

大多数在某些操作开始之前引发的事件都有 Cancel 属性 *EventArgs 个参数。在这种情况下,它是 PrintEventArgs.Cancel.

样本:

void MyPrintDocument_BeginPrint(object sender, PrintEventArgs e) {
   e.Cancel = true; // will cancel printing
}