Печать WinForms: как я могу получить доступ к диалоговому окну прогресса?

При печати в формах Windows или предварительном просмотре печати отображается диалоговое окно с текстом, например

Страница [P] из [DOC]

где [P] - номер страницы, а [DOC] - имя документа. В диалоговом окне также есть кнопка, позволяющая пользователю отменить задание на печать.

Как я могу изменить отображаемый текст? Я бы предпочел текст вроде

Страница [P] из [Pages]

где [Pages] - общее количество страниц, чтобы дать пользователю представление о том, сколько времени потребуется для печати всех страниц. Если возможно, я также хотел бы показать индикатор выполнения, потому что, когда задание печати запускается, я точно знаю, сколько страниц будет напечатано.


person nruessmann    schedule 30.09.2008    source источник


Ответы (1)


Я сделал это:

  • Создайте свой собственный класс из PrintDocument, обрабатывая всю печать
  • Установите контроллер печати на новый StandardPrintController (тогда диалоговое окно не отображается)
  • Отобразите свой собственный диалог, например отображать и закрывать в OnBeginPrint и OnEndPrint, обновлять в OnPrintPage

Если я правильно помню, не было возможности изменить текст, а поскольку диалог по умолчанию нельзя локализовать, мы не могли его использовать. Тем не менее, он отлично работает с тем, что я написал выше.

person OregonGhost    schedule 30.09.2008