Поделиться через


Обзор элемента управления PrintPreviewDialog (Windows Forms)

Элемент управления PrintPreviewDialog Windows Forms — это предварительно настроенное диалоговое окно, используемое для отображения, как будет выглядеть при печати 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, можно добавить следующий ключ в раздел <appSettings> файла конфигурации, чтобы повысить производительность инициализации элемента управления 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 не улучшится, даже если настроен параметр конфигурации оптимизации.

См. также