Condividi tramite


Panoramica del controllo PrintPreviewDialog (Windows Forms)

Il controllo PrintPreviewDialog di Windows Forms è una finestra di dialogo preconfigurata usata per visualizzare come apparirà un PrintDocument quando viene stampato. Usarlo all'interno dell'applicazione basata su Windows come soluzione semplice anziché configurare una finestra di dialogo personalizzata. Il controllo contiene pulsanti per la stampa, lo zoom avanti, la visualizzazione di una o più pagine e la chiusura della finestra di dialogo.

Proprietà e metodi chiave

La proprietà chiave del controllo è Document, che imposta il documento da visualizzare in anteprima. Il documento deve essere un oggetto PrintDocument. Per visualizzare la finestra di dialogo, è necessario chiamare il relativo metodo ShowDialog. L'anti-aliasing può rendere il testo più uniforme, ma può anche rallentare la visualizzazione; per usarlo, impostare la proprietà UseAntiAlias su true.

Alcune proprietà sono disponibili tramite il PrintPreviewControl che contiene il PrintPreviewDialog. Non è necessario aggiungere questo PrintPreviewControl al modulo; è automaticamente contenuto all'interno del PrintPreviewDialog quando si aggiunge la finestra di dialogo al modulo. Esempi di proprietà disponibili tramite il PrintPreviewControl sono le proprietà Columns e Rows, che determinano il numero di pagine visualizzate orizzontalmente e verticalmente sul controllo. È possibile accedere alla proprietà Columns come PrintPreviewDialog1.PrintPreviewControl.Columns in Visual Basic, printPreviewDialog1.PrintPreviewControl.Columns in Visual C# o printPreviewDialog1->PrintPreviewControl->Columns in Visual C++.

Prestazioni di PrintPreviewDialog

Nelle condizioni seguenti, il controllo PrintPreviewDialog inizializza molto lentamente:

  • Viene utilizzata una stampante di rete.
  • Le preferenze utente per questa stampante, ad esempio le impostazioni duplex, vengono modificate.

Per le app in esecuzione in .NET Framework 4.5.2, è possibile aggiungere la chiave seguente alla sezione <appSettings> del file di configurazione per migliorare le prestazioni dell'inizializzazione del controllo PrintPreviewDialog:

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

Se la chiave EnablePrintPreviewOptimization è impostata su qualsiasi altro valore o se la chiave non è presente, l'ottimizzazione non viene applicata. Questa chiave non ha alcun effetto se l'applicazione è in esecuzione in .NET Framework 4.6 o versione successiva.

Per le app in esecuzione su .NET Framework 4.6 o versioni successive, è possibile aggiungere la seguente opzione all'elemento <AppContextSwitchOverrides> nella sezione <runtime> del file di configurazione dell'app:

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

Se l'opzione non è presente o se è impostata su qualsiasi altro valore, l'ottimizzazione non viene applicata.

Se si utilizza l'evento QueryPageSettings per modificare le impostazioni della stampante, le prestazioni del controllo PrintPreviewDialog non miglioreranno anche se è impostata un'opzione di configurazione di ottimizzazione.

Vedere anche