Как отменить печать в расширенном методе OnBeginPrint?

Я создал приложение win form для печати этикеток, и оно работает нормально. Единственная проблема заключается в том, что контент обрезается, когда в нем больше содержимого, чем размер этикетки. Я хочу показать уведомление, когда длина содержимого превышает высоту метки. Возможное место для расчета в методе OnBeginPrint(), где я получаю все параметры для расчета размеров. Но я не нашел ни одного параметра или свойства, которое отменяет печать при сбое условия. Пожалуйста, поделитесь своими мыслями по этому поводу.

1 ответ

Решение

Большинство событий, возникающих до начала какого-либо действия, имеет Cancel собственность на *EventArgs аргументы. В данном случае это PrintEventArgs.Cancel.

Образец:

void MyPrintDocument_BeginPrint(object sender, PrintEventArgs e) {
   e.Cancel = true; // will cancel printing
}
Другие вопросы по тегам