Información general sobre el control PrintPreviewDialog (Windows Forms)

El control PrintPreviewDialog de Windows Forms es un cuadro de diálogo preconfigurado que se utiliza para mostrar cómo aparecerá un PrintDocument cuando se imprima. Utilícelo en la aplicación basada en Windows como una solución sencilla, en lugar de configurar su propio cuadro de diálogo. El control contiene botones para imprimir, acercar, mostrar una o varias páginas y cerrar el cuadro de diálogo.

Propiedades y métodos clave

La propiedad clave del control es Document, que establece la vista previa del documento. El documento debe ser un objeto PrintDocument. Para mostrar el cuadro de diálogo, debe llamar a su método ShowDialog. La funcionalidad de suavizado puede hacer que el texto aparezca más suave, pero también puede hacer que la pantalla sea más lenta; para usarlo, establezca la propiedad UseAntiAlias en true.

Algunas propiedades están disponibles a través del PrintPreviewControl contenido en el PrintPreviewDialog. (No es necesario agregar este PrintPreviewControl al formulario; se incluye automáticamente en PrintPreviewDialog cuando se agrega el cuadro de diálogo al formulario). Algunos ejemplos de propiedades disponibles a través del PrintPreviewControl son las propiedades Columns y Rows, que determinan el número de páginas que se muestran horizontal y verticalmente en el control. Puede acceder a la propiedad Columns como PrintPreviewDialog1.PrintPreviewControl.Columns en Visual Basic, printPreviewDialog1.PrintPreviewControl.Columns en Visual C# o printPreviewDialog1->PrintPreviewControl->Columns en Visual C++.

Rendimiento de PrintPreviewDialog

En las condiciones siguientes el control PrintPreviewDialog se inicializa muy lentamente:

  • Se usa una impresora de red.
  • Las preferencias del usuario para esta impresora, como la configuración impresión a doble cara, se modifican.

En el caso de las aplicaciones que se ejecutan en el .NET Framework 4.5.2, puede agregar la siguiente clave a la sección <appSettings> del archivo de configuración para mejorar el rendimiento de la inicialización del control PrintPreviewDialog:

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

Si la clave EnablePrintPreviewOptimization se establece en cualquier otro valor, o si la clave no está presente, no se aplica la optimización. Esta clave no tiene ningún efecto si la aplicación se ejecuta en .NET Framework 4.6 o posterior.

En el caso de las aplicaciones que se ejecutan en el .NET Framework 4.6 o versiones posteriores puede agregar el siguiente modificador al elemento <AppContextSwitchOverrides> en la sección <runtime> del archivo de configuración de la aplicación:

<runtime >
   <!-- AppContextSwitchOverrides values are in the form of 'key1=true|false;key2=true|false -->
   <AppContextSwitchOverrides value = "Switch.System.Drawing.Printing.OptimizePrintPreview=true" />
</runtime >

Si el modificador no está presente o si se establece en cualquier otro valor, no se aplica la optimización.

Si usa el evento QueryPageSettings para modificar la configuración de la impresora, el rendimiento del control PrintPreviewDialog no mejorará incluso si se establece un modificador de configuración de optimización.

Vea también