Обзор управления PrintPreviewDialog (Windows Forms)
Windows Forms PrintPreviewDialog элемент управления является стандартным диалоговым окном, используемый для отображения как PrintDocument будет выглядеть при печати. Используется в качестве простого решения вместо настройки собственного диалогового приложения на базе Windows. Элемент управления содержит кнопки для печати, увеличения масштаба, отображения одной или нескольких страниц и закрытия диалогового окна.
Ключевые свойства и методы
Ключевое свойство элемента управления — Document, который задает документ, который необходимо просмотреть. Документ должен быть PrintDocument объекта. Чтобы отобразить диалоговое окно, необходимо вызвать его ShowDialog метод. Сглаживание может сделать текст более однородным, но оно может привести к замедлению отображения; Чтобы использовать его, задайте UseAntiAlias свойства true
.
Некоторые свойства доступны через PrintPreviewControl , PrintPreviewDialog содержит. (Нет необходимости добавить PrintPreviewControl форме; он автоматически содержится PrintPreviewDialog при добавлении диалогового окна в форму.) Примеры свойств, доступных через PrintPreviewControl являются Columns и Rows свойства, которые определяют количество страниц, отображаемых по горизонтали и вертикали в элементе управления. Вы можете получить доступ к Columns свойство как PrintPreviewDialog1.PrintPreviewControl.Columns
в Visual Basic, printPreviewDialog1.PrintPreviewControl.Columns
в визуальном элементе C#, или printPreviewDialog1->PrintPreviewControl->Columns
в Visual C++.
Производительность PrintPreviewDialog
При следующих условиях PrintPreviewDialog управления инициализирует очень медленно:
- Используется сетевого принтера.
- Изменяются настройки пользователя для этого принтера, например параметры двусторонней печати.
Для приложений, выполняющихся в .NET Framework 4.5.2, можно добавить следующий ключ <appSettings > раздела файла конфигурации для повышения производительности PrintPreviewDialog управления инициализации:
<appSettings>
<add key="EnablePrintPreviewOptimization" value="true" />
</appSettings>
Если EnablePrintPreviewOptimization
ключа задано любое другое значение, или если ключ отсутствует, оптимизация не применяется.
Для приложений, выполняющихся в .NET Framework 4.6 или более поздней версии, можно добавить следующий параметр в <AppContextSwitchOverrides > элемент в <среды выполнения > раздел файла конфигурации приложения:
<runtime >
<!-- AppContextSwitchOverrides values are in the form of 'key1=true|false;key2=true|false -->
<AppContextSwitchOverrides value = "Switch.System.Drawing.Printing.OptimizePrintPreview=true" />
</runtime >
Если параметр не указан или если он имеет значение любое другое значение, оптимизация не применяется.
Если вы используете QueryPageSettings событие, чтобы изменить параметры принтера, производительность PrintPreviewDialog управления не улучшит, даже если задан параметр конфигурации оптимизации.