Condivisione di una sola istanza PrintDocument
-
29-08-2019 - |
Domanda
Nel mio WinForms app, i dati possono essere stampati su molte posizioni. Ogni volta che l'utente vuole stampare, creo una nuova istanza PrintDocument, che viene utilizzato per il processo di stampa corrente e quindi smaltito. Tutto sta funzionando, ma la finestra di dialogo Stampa è sempre impostato indietro alla stampante predefinita e dei suoi parametri di default. Se si seleziona un'altra stampante, l'utente deve scegliere ogni volta nuovo e di nuovo.
Si tratta di un approccio comune per creare un'istanza PrintDocument globale e condividerlo per tutti i lavori di stampa attraversavano l'applicazione? Ti piace questa l'ultima stampante selezionata verrà sempre utilizzato. Oppure ci sono altri modi?
Grazie, Petr
Soluzione
Perché non si crea un'istanza PrinterSettings
e passa che a ogni PrintDocument
che si crea invece?
Altri suggerimenti
È possibile utilizzare il pattern Singleton per definire l'istanza PrinterSettings o un'istanza PrintDocument in modo che non avrebbe dovuto superare il riferimento attorno.