Как отменить печать в расширенном методе OnBeginPrint?
Я создал приложение win form для печати этикеток, и оно работает нормально. Единственная проблема заключается в том, что контент обрезается, когда в нем больше содержимого, чем размер этикетки. Я хочу показать уведомление, когда длина содержимого превышает высоту метки. Возможное место для расчета в методе OnBeginPrint(), где я получаю все параметры для расчета размеров. Но я не нашел ни одного параметра или свойства, которое отменяет печать при сбое условия. Пожалуйста, поделитесь своими мыслями по этому поводу.
1 ответ
Решение
Большинство событий, возникающих до начала какого-либо действия, имеет Cancel
собственность на *EventArgs
аргументы. В данном случае это PrintEventArgs.Cancel.
Образец:
void MyPrintDocument_BeginPrint(object sender, PrintEventArgs e) {
e.Cancel = true; // will cancel printing
}