Обзор элемента управления 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 в Visual C#, так и printPreviewDialog1->PrintPreviewControl->Columns в Visual C++.

Производительность PrintPreviewDialog

В следующих условиях PrintPreviewDialog элемент управления инициализируется очень медленно:

  • Используется сетевой принтер.
  • Параметры пользователя для этого принтера, такие как дуплексные параметры, изменяются.

Для приложений, работающих на платформа .NET Framework 4.5.2, можно добавить следующий ключ в <приложение Параметры> раздел файла конфигурации, чтобы повысить производительность PrintPreviewDialog инициализации элементов управления:

<appSettings>
   <add key="EnablePrintPreviewOptimization" value="true" />
</appSettings>

EnablePrintPreviewOptimization Если ключ имеет любое другое значение или если ключ отсутствует, оптимизация не применяется. Этот ключ не влияет, если приложение работает на платформа .NET Framework 4.6 или более поздней версии.

Для приложений, работающих в платформа .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 элемента управления не улучшится, даже если настроен параметр конфигурации оптимизации.

См. также