Panoramica del controllo PrintPreviewDialog (Windows Form)

Il controllo Windows Form PrintPreviewDialog è una finestra di dialogo preconfigurata usata per visualizzare la modalità di visualizzazione di printDocument durante la stampa. 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, l'ingrandimento, 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 PrintDocument oggetto . Per visualizzare la finestra di dialogo, è necessario chiamare il relativo ShowDialog metodo. L'anti-aliasing può rendere il testo più uniforme, ma può anche rallentare la visualizzazione; per usarla, impostare la UseAntiAlias proprietà su true.

Alcune proprietà sono disponibili tramite l'oggetto PrintPreviewControlPrintPreviewDialog che contiene. Non è necessario aggiungerlo al modulo, ma è contenuto automaticamente all'interno di PrintPreviewDialog quando si aggiunge PrintPreviewControl la finestra di dialogo al modulo. Esempi di proprietà disponibili tramite PrintPreviewControl sono le Columns proprietà e Rows , che determinano il numero di pagine visualizzate orizzontalmente e verticalmente sul controllo. È possibile accedere alla Columns proprietà 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 PrintPreviewDialog controllo 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 all'app <Impostazioni> sezione del file di configurazione per migliorare le prestazioni dell'inizializzazione del PrintPreviewDialog controllo:

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

Se la EnablePrintPreviewOptimization chiave è 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 in .NET Framework 4.6 o versioni successive, è possibile aggiungere l'opzione seguente 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 PrintPreviewDialog controllo non miglioreranno anche se è impostata un'opzione di configurazione di ottimizzazione.

Vedi anche