Gestione dei pulsanti di una "PrintPreviewDialog"

di il
26 risposte

26 Risposte - Pagina 2

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    16/05/2024 - joker7421 ha scritto:


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

    Se non riesci a capire come interagisca, perché non fare clic su Stampa (o sul pulsante che ti interessa) e vedere tu stesso che valore restituisce la ShowDialog()?

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    16/05/2024 - joker7421 ha scritto:


    Grazie come sempre a tutti vo

    Ma hai dato un'occhiata alla mia ultima risposta?

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    16/05/2024 - oregon ha scritto:

    Ma hai dato un'occhiata alla mia ultima risposta?

    Ciao Oregon, non ho dimenticato il tuo contributo … è che era troppo tardi per provarlo e raccontarlo.

    L'ho provato oggi e, come per la prova suggeritami da Alka, solo il pulsante di chiusura mi riporta “CANCEL” come risultato del “DialogResult” e tramite la “ToolStrip” suggerita da te.

    Ho provato  a modificare il codice così:

      If e.ClickedItem.Name.StartsWith("Stampa") Then

    ma il pulsantino “Stampa” non riesco ad intercettarlo. Lo premo, mi stampa e poi ritorna alla “PrintPreviewDialog”.

    Grazie a tutti.

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    Controlla.coea contiene effettivamente

    e.ClickedItem.Name

    quando usi il pulsante Stampa

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    Salve a tutti e grazie sempre

    17/05/2024 - oregon ha scritto:


    Controlla.coea contiene effettivamente

    e.ClickedItem.Name

    quando usi il pulsante Stampa

        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("Stampa") Then
                MessageBox.Show("Anteprima in stampa", "Attenzione")
            End If
            If e.ClickedItem.Name.StartsWith("close") Then
                MessageBox.Show("Anteprima in chiusura", "Attenzione")
            End If
        End Sub				======== LI HO SCRITTI IN ITALIANO PERCHE' I TOOLSTRIPS SONO IN ITALIANO ========
    
        Private Sub BtnStampa_Click(sender As Object, e As EventArgs) Handles BtnStampa.Click
            Dim ppd As New PrintDialog With {
                .Document = PrintDocument1
            }
            If ppd.ShowDialog() = DialogResult.OK Then
                PrintDocument1.DefaultPageSettings.PrinterResolution.Kind = Printing.PrinterResolutionKind.High
                PrintDocument1.Print()
                MessageBox.Show("Stampa effettuata.", "Stampa Codice a Barre")
            Else
                MessageBox.Show("Stampa annullata.", "Stampa Codice a Barre")
            End If
        End Sub          ============ FIN QUI IL DIALOGRESULT TI FA FARE TUTTO ===========
    
        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
            }
            ppd.ShowDialog()
        End Sub

    Non riesco a leggere la proprietà Name di ClickedItem. 

    Grazie e a presto

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    Dici davvero?

    Hai controllato cosa lcontiene Name? Usa

    MessageBox.Show(e.ClickedItem.Name)

    per capirlo e scrivere il codice corretto. Non pensavo te lo dovessi dire.

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    Purtroppo non so perché, ma la Sub ts_ItemClicked non la esegue proprio 

    ed è scritta così come trascritta qui ed ho trascritto “MessageBox.Show(e.ClickedItem.Name)” appena sotto i due blocchi IF.

    Nonostante inserisca dei punti di interruzione, il codice non si ferma proprio.

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    Io ancora non ho capito bene dove vuoi intercettare questi tasti, comunque prova anche questo:

    Dim pd = New PrintDocument
    Dim ppd As New PrintPreviewDialog
    AddHandler pd.PrintPage, AddressOf pd_PrintPage ' qui ci metterai tutta la procedura di stampa
    AddHandler pd.BeginPrint, AddressOf pd_BeginPrint
    
    ppd.Document = pd
    ppd.WindowState = FormWindowState.Maximized
    ppd.PrintPreviewControl.Zoom = 1
    ppd.ShowDialog()
    Private Sub pd_BeginPrint(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintEventArgs)
    
    	If Not pd.PrintController.IsPreview Then
    		MsgBox("Premuto pulsante stampa")
    	End If
    
    End Sub

    prova e facci sapere se era quello che volevi

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    Scusate questa assenza ma non sono stato fuori per lavoro per alcuni giorni e senza PC non potevo provare niente. Alla fine non ne ho ricavato un ragno dal buco. So benissimo che la mia richiesta era una quisquiglia e quindi ala fine ho lasciato perder.

    Grazie a tutti per i consigli. Alla prossima rottura di scatole :-)

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    26/05/2024 - joker7421 ha scritto:


    Alla fine non ne ho ricavato un ragno dal buco. So benissimo che la mia richiesta era una quisquiglia e quindi ala fine ho lasciato perder.

    In larga parte hai ignorato i suggerimenti che ti sono stati dati, e alla fine hai lasciato perdere, facendo sprecare tempo anche agli altri che hanno impiegato tempo per cercare di capire, cercato di spiegare e suggerire e si sono interessati alla questione, fornendo esempi da cui alla fine non hai preso spunto, concludendo il tutto con una resa senza che si sia giunti comunque al punto ed etichettando il tutto come una “quisquiglia”, ossia qualcosa di poco importante e trascurabile, che sicuramente indurrà qualcuno a pensare che la prossima volta, prima di lambiccarsi a darti una mano inutilmente, ci penseranno due o tre volte prima.

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    Grazie come sempre a tutti.

    26/05/2024 - Alka ha scritto:

    In larga parte hai ignorato i suggerimenti che ti sono stati dati, e alla fine hai lasciato perdere, facendo sprecare tempo anche agli altri che hanno impiegato tempo per cercare di capire, cercato di spiegare e suggerire e si sono interessati alla questione, fornendo esempi da cui alla fine non hai preso spunto, concludendo il tutto con una resa senza che si sia giunti comunque al punto ed etichettando il tutto come una “quisquiglia”, ossia qualcosa di poco importante e trascurabile, che sicuramente indurrà qualcuno a pensare che la prossima volta, prima di lambiccarsi a darti una mano inutilmente, ci penseranno due o tre volte prima.

    In base a quali elementi affermi che io abbia ignorato i vostri consigli? Non mi pare che le mie risposte portino a questa conclusione: ergo, un giudizio errato da parte tua. E poi, giudicare l'operato di una persona da una chat, senza conoscerla, senza sapere cosa fa, senza sapere se ha problematiche tali da non permettergli di potersi dedicare alla sua passione quanto vorrebbe … perché, ripeto, per me, è solo una passione non lo faccio per lavoro; le applicazioni che creo, le faccio per me, esclusivamente per me; quindi se uso la parola “quisquiglia” (ossia qualcosa di poco importante e trascurabile), la uso solo nell'ambito ("scope") della mia vita. Non sono uno studente di informatica, né un docente o  un istruttore, faccio tutt'altro nella vita; anzi, la metto a rischio per l'incolumità altrui. 

    Ho testato tutti i vostri tentativi di aiutarmi ma nessuno ha sortito l'effetto sperato. Solo con il metodo “BeginPrint” suggeritami da SirJo (grazie mille) ho raggiunto lo scopo di intercettare il tasto “Stampa” di una finestra di dialogo di Anteprima di Stampa.

    Ringrazio di nuovo tutti … e spero alla prossima.

  • Re: Gestione dei pulsanti di una "PrintPreviewDialog"

    26/05/2024 - joker7421 ha scritto:


    In base a quali elementi affermi che io abbia ignorato i vostri consigli?

    Ci sono svariati messaggi in cui ti viene espressamente richiesto se hai letto quello che ti è stato scritto.

    26/05/2024 - joker7421 ha scritto:


    Non mi pare che le mie risposte portino a questa conclusione […]

    La conclusione non è un “non ci sono riuscito, questo è lo stato, spiegatemi meglio” ma un “lasciate perdere”, e unite al fatto citato al punto precedente, questa è la conclusione, o almeno quella a cui arrivo io (non parlo per tutti).

    26/05/2024 - joker7421 ha scritto:


    E poi, giudicare l'operato di una persona da una chat, senza conoscerla, senza sapere cosa fa, senza sapere se ha problematiche tali da non permettergli di potersi dedicare alla sua passione quanto vorrebbe …

    Ma che dici? Che senso ha tutto questo? Io mica ti giudico sul tuo modo di condurre la tua vita, sto solo facendo un giudizio di merito relativo a un thread in un forum che, dopo diverse spiegazioni e consigli, in larga parte disattesi, si conclude con un nulla di fatto.

    Tutte le considerazioni “extra” che hai aggiunto su cose che non c'entrano nulla e su quello che fai nella tua vita privata non c'entrano niente.

    26/05/2024 - joker7421 ha scritto:


    Non sono uno studente di informatica, né un docente o  un istruttore, faccio tutt'altro nella vita; anzi, la metto a rischio per l'incolumità altrui. 

    Buon per te, ma di nuovo: tutto questo non c'entra nulla col discorso.

    26/05/2024 - joker7421 ha scritto:


    Ho testato tutti i vostri tentativi di aiutarmi ma nessuno ha sortito l'effetto sperato.

    Amen. L'unica contestazione qui riguarda il fatto che dare suggerimenti a persone che non ti ascoltano, che in caso di difficoltà poi non ti chiedono approfondimenti e alla fine abbandonano un thread, sicuramente non incentivano alla partecipazione, a lungo andare. Tutto qui.

Devi accedere o registrarti per scrivere nel forum
26 risposte