Общий доступ к одному экземпляру PrintDocument
-
29-08-2019 - |
Вопрос
В моем приложении WinForms данные могут быть распечатаны во многих местах.Каждый раз, когда пользователь хочет выполнить печать, я создаю новый экземпляр PrintDocument, который используется для текущего задания печати, а затем удаляется.Все работает, но диалоговое окно печати всегда возвращается к принтеру по умолчанию и его параметрам по умолчанию.Если выбран другой принтер, пользователь должен выбирать его каждый раз снова и снова.
Является ли это распространенным подходом для создания одного глобального экземпляра PrintDocument и совместного использования его для всех заданий печати в приложении?Таким образом, всегда будет использоваться последний выбранный принтер.Или есть какие-то другие способы?
Спасибо тебе, Петр
Решение
Почему бы вам не создать его PrinterSettings
экземпляр и передайте это каждому PrintDocument
что вы создаете вместо этого?
Другие советы
Вы могли бы использовать шаблон singleton для определения экземпляра PrinterSettings или экземпляра PrintDocument, чтобы вам не приходилось передавать ссылку по кругу.
Видишь Одноэлементный Паттерн