Gestione dei pulsanti di una "PrintPreviewDialog"

di il
26 risposte

Gestione dei pulsanti di una "PrintPreviewDialog"

Buongiorno a tutti, mi è sorta una curiosità … i pulsanti presenti nella finestra di dialogo di un'anteprima di stampa sono gestibili?

Tipo con “DialogResult” ?

Grazie mille e a presto

26 Risposte

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    11/05/2024 - joker7421 ha scritto:


    Buongiorno a tutti, mi è sorta una curiosità … i pulsanti presenti nella finestra di dialogo di un'anteprima di stampa sono gestibili?

    Dipende… definisci “gestibili”: vuoi cambiare il testo, aggiungerne altri… fare cosa?

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    Grazie Alka,

    per intenderci io parlo del pulsante “stampa” e  di quello “chiudi”. Sarebbe possibile gestirli come si gestiscono quelli in una normale “showdialog” e relativa “dialogresult” ?

    Grazie e a presto.

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    Ancora non si riesce a capire cosa devi fare.

    “Gestirli” non vuol dire nulla.

    Tu vuoi capire quando l'utente preme “stampa” oppure se clicca su “chiudi” senza stampare ???

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    Grazie SirJo, è esattamente quello che intendo … magari quando si clicca su “stampa”, vorrei mostrare la finestra di dialogo della stampa e quando si clicca su “Chiudi” avvisare che la stampa è stata annullata.

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    13/05/2024 - joker7421 ha scritto:


    magari quando si clicca su “stampa”, vorrei mostrare la finestra di dialogo della stampa e quando si clicca su “Chiudi” avvisare che la stampa è stata annullata.

    Hai dato un'occhiata a cosa ti restituisce il metodo che chiami per mostrare la dialog, ossia ShowDialog()?

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    Grazie Alka, come faccio a dare un'occhiata a ciò che mi restituisce il metodo “ShowDialog”?

    Grazie e a presto.

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    https://learn.microsoft.com/it-it/dotnet/desktop/winforms/printing/overview?view=netdesktop-8.0

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    13/05/2024 - joker7421 ha scritto:


    Grazie Alka, come faccio a dare un'occhiata a ciò che mi restituisce il metodo “ShowDialog”?

    Bastava cliccare sul link che ho messo su ShowDialog(). :|

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    Grazie Alka ma il “grassetto” mi ha tratto in inganno. Ho letto ma non ho capito ancora come intercettare il pulsante che permette la stampa diretta.

    Grazie e a presto.

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    15/05/2024 - joker7421 ha scritto:


    Ho letto ma non ho capito ancora come intercettare il pulsante che permette la stampa diretta.

    Spiega cos'hai capito e cosa hai provato.

    Prima non si capisce cosa vuol dire “gestire”, poi non vedi il link, poi leggi ma dici di non capire ancora: devi tirare fuori qualche feedback più significativo e preciso in merito a quello che hai letto e ai dubbi che hai, altrimenti stiamo solo andando avanti a tentoni recriminando ogni risposta fino a quando non si arriva a scrivere esattamente il codice che ti serve.

    La documentazione in italiano dice tutto: il valore di ritorno di ShowModal() ti dice qual è il tasto che è stato premuto.
    Non ci sono altre cose da capire, se il tuo intento è questo.

    E se non è questo, spiega: non è possibile che siano più lunghe le risposte di chi cerca di tirare fuori dettagli del problema rispetto a quelle che scrivi tu per aiutare gli altri a darti una mano.

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    15/05/2024 - Alka ha scritto:


    non è possibile che siano più lunghe le risposte di chi cerca di tirare fuori dettagli del problema rispetto a quelle che scrivi tu per aiutare gli altri a darti una mano

    A parte il caso specifico, questa è una tendenza in forte aumento, almeno secondo me 

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    13/05/2024 - joker7421 ha scritto:


    Grazie SirJo, è esattamente quello che intendo … magari quando si clicca su “stampa”, vorrei mostrare la finestra di dialogo della stampa e quando si clicca su “Chiudi” avvisare che la stampa è stata annullata.

    https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.dialogresult?view=windowsdesktop-8.0

    però leggilo…

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    Puoi usare questa bozza di codice da perfezionare e customizzare con i nomi dei controlli che usi

       Dim WithEvents ts As ToolStrip
       
       Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
           ts = PrintPreviewDialog1.Controls(1)
           AddHandler ts.ItemClicked, AddressOf ts_ItemClicked
       End Sub
    
       Private Sub ts_ItemClicked(sender As Object, e As ToolStripItemClickedEventArgs)
           If e.ClickedItem.Name.StartsWith("close") Then
               MessageBox.Show("Anteprima in chiusura", "Attenzione")
           End If
       End Sub

    ovviamente avvierai con

    PrintPreviewDialog1.ShowDialog()
  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    Grazie come sempre a tutti voi che spendete tempo a rispondere.

    Premetto che non sono un programmatore esperto (e credo si sia capito) e nemmeno lo faccio per professione: è sempre stata la mia passione creare programmini al solo ed esclusivo uso personale … solo per imparare cose nuove .

    Per precisare meglio ed essere più chiaro: il mio scopo è capire se nella finestra di dialogo PrintPreviewDialog ci sia la possibilità di intercettare e gestire (con un messaggio a video) la pressione dei pulsanti “stampa” e “chiudi”: “La pagina è stata stampata” oppure “La stampa è stata annullata”; oppure, nel caso del pulsante “stampa”, far apparire la finestra di dialogo della stampa dove si possono scegliere le stampanti, il numero di copie, ecc…

    Ho dato un'occhiata (come dice Alka) a quello che restituisce il metodo “ShowDialog” e, a parte il “cancel” quando si preme “Chiudi” o la “X" del form, lo “DialogResult”  fornisce altre nove possibilità ma tra queste non vi è quella relativa al pulsante “stampa”.  Grazie Sihsandrea per il collegamento alla pagina del “dialogResult”.

    Ho scritto questo Select Case per cercare di capire meglio ma risponde solo “Cancel”. (il listato è “formattato” per ridurre gli spazi)

        Private Sub BtnAnteprima_Click(sender As Object, e As EventArgs) Handles BtnAnteprima.Click
            Dim ppd As New PrintPreviewDialog With { .Document = PrintDocument1, .WindowState = FormWindowState.Normal, .StartPosition = FormStartPosition.CenterScreen }
            Select Case ppd.ShowDialog()
                Case DialogResult.Cancel MessageBox.Show("Cancel")
                Case DialogResult.Yes MessageBox.Show("Yes")
                Case DialogResult.Abort MessageBox.Show("Abort")
                Case DialogResult.Continue MessageBox.Show("Continue")
                Case DialogResult.Ignore MessageBox.Show("Ignore")
                Case DialogResult.No MessageBox.Show("No")
                Case DialogResult.None MessageBox.Show("None")
                Case DialogResult.OK MessageBox.Show("Ok")
                Case DialogResult.Retry MessageBox.Show("Retry")
                Case DialogResult.TryAgain MessageBox.Show("TryAgain")
    
            End Select

    15/05/2024 - Alka ha scritto:

    […]

    La documentazione in italiano dice tutto: il valore di ritorno di ShowModal() ti dice qual è il tasto che è stato premuto.
    Non ci sono altre cose da capire, se il tuo intento è questo.

    […]

    Anche questa ho letto ma non sono riuscito a capire come interagisca con la PrintPreviewDialog.

    Ho scritto un bel po', spero di non essere stato tedioso ma di essere stato più chiaro.

    Grazie e a presto

Devi accedere o registrarti per scrivere nel forum
26 risposte