Personalizzare PrintPreviewDialog

martedì 15 dicembre 2009 - 10.04

volperubbia Profilo | Senior Member

Ciao a tutti,
in una mia applicazione VB.NET 2005 pensavo di centralizzare la gestione
delle stampe, con una classe ereditata da PrintPreviewDialog (in allegato)
e nel programma, ove serve, richiamarla così:

Using obj As New frmPrint
obj.Type = 1
obj.ShowDialog()
End Using

Fin qui perfetto.

Ora vorrei che, cliccando su stampa, anzichè inviare direttamente alla
stampante predefinita, mi aprisse prima una PrintDialog per la selezione
della stampante e quindi stampare. Qualche idea su come risolvere o
cosa ridefinire su frmPrint?

Al momento ho risolto così (ma non sono entusiasta):

Dim objPrinterSettings As System.Drawing.Printing.PrinterSettings = Nothing
Using obj As New PrintDialog
obj.AllowCurrentPage = False
obj.AllowPrintToFile = False
obj.AllowSelection = False
obj.AllowSomePages = False
If obj.ShowDialog.Equals(Windows.Forms.DialogResult.OK) Then objPrinterSettings = obj.PrinterSettings
End Using
If (Not objPrinterSettings Is Nothing) Then
Using obj As New frmPrint
obj.PrintType = PrintType
obj.PrinterSettings = objPrinterSettings
obj.ShowDialog()
End Using
End If

In pratica, prima seleziono le impostazioni della stampante,
quindi visualizzo l'anteprima e infine eventualmente stampo.

Grazie per l'attenzione,
Davide
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5