Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    VB_NET Richiamare determinata funzione (buttonx_click)

    Ho letto su internet che per chiamare una funzione/azione si usa CALL <nome funzione>

    io voglio fare una cosa del tipo che... quando clicco sul button1, il programma mi esegue i comandi del button2_click
    ho provato a mettere in button1_click
    codice:
    call button1.click
    call button1.click()
    ecc...
    Ma non riesco a trovare la sintassi giusta (credo di essere completamente fuori strada, forse nemmeno devo usare call )
    anche perchè leggendo qui non sono riuscito a trovare una soluzione:
    CALL

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Leggere su internet qualcosa per imparare a programmare non è una buona soluzione ...

    In ogni caso, ti conviene impostare una procedura apposita da chiamare con la Call quando ti serve, da qualsiasi punto ti serva.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Originariamente inviato da oregon
    Leggere su internet qualcosa per imparare a programmare non è una buona soluzione ...

    In ogni caso, ti conviene impostare una procedura apposita da chiamare con la Call quando ti serve, da qualsiasi punto ti serva.
    Ah già, non c'avevo proprio pensato...
    Quindi invece di fare:
    Button1.click [ Hello word ]
    button2.click .. chiama button1.click
    faccio
    funzione hw [hello word]
    button1.click .. chiama hw
    button2.click .. chiama hw

    Banalissimo ma non c'avevo proprio pensato
    Ancora mille volte grazie

  4. #4
    Ho provato a creare una funzione per intercettare ed annullare la chiusura del programma e mi da errore in:
    codice:
    e.cancel = true
    Ove sbaglio?

    PS: Mi dice "Non accessibile a causa del livello di protezione"

  5. #5
    Utente di HTML.it L'avatar di Vinsent
    Registrato dal
    May 2011
    Messaggi
    314
    Se non sbaglio CALL è un' istruzione VB mantenuta nel .NET per compatibilità, dal titolo stai usando il secondo...quindi, credo, puoi evitare di usare l' istruzione...nel senso che basta qualcosa del genere:
    codice:
        Private Sub Button1_Click() Handles Button1.Click
            Button2_Click()
            'con CALL si scrive:
            'Call Button2_Click()
            'tra parentesi ci vanno eventuali parametri
            'sia con o senza CALL
        End Sub
        Private Sub Button2_Click() Handles Button2.Click
            'tuo codice
        End Sub
    come vedi alle routine mancano i parametri, se li dichiari devi passarli alla routine chiamata oppure nel caso specifico puoi associare i due eventi click alla stessa routine:
    codice:
        Private Sub funzione() Handles Button1.Click, Button2.Click
            'tuo codice
        End Sub
    Ci sono altre soluzioni per fare la stessa cosa, bisogna scegliere in base a cosa devi fare...
    Da autodidatta sono le prime cose con cui ho fatto a botte...

    Per l' "errore" dovresti aprire un' altro topic e dare più informazioni...

  6. #6
    Originariamente inviato da Vinsent
    Per l' "errore" dovresti aprire un' altro topic e dare più informazioni...
    È esattamente dello stesso discorso che sto parlando, cioè quando premo sulla X del form mi compare un messagebox che mi chiede se voglio chiudere il programma, poi nel programma ho un bottone "Esci" che richiama appunto il formclosing...

    codice:
    e.cancel = true
    è il codice che uso quando l'utente clicca su NO al messaggio "Vuoi chiudere il programma?"

    però questo codice se messo in formclosing funziona, messo invece in una funzione non funziona (scusate il gioco di parole)



    EDIT:
    Tra l'altro ho appena provato a creare due bottini, e scrivere appunto nel secondo sia buttonclick() sia call buttonclick..() e visual studio me lo segna come errore

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ho capito bene ma se mostri le parti di codice che hai usato diventa tutto molto più chiaro ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Utente di HTML.it L'avatar di Vinsent
    Registrato dal
    May 2011
    Messaggi
    314
    Originariamente inviato da deamon75
    È esattamente dello stesso discorso che sto parlando, cioè quando premo sulla X del form mi compare un messagebox che mi chiede se voglio chiudere il programma, poi nel programma ho un bottone "Esci" che richiama appunto il formclosing...

    codice:
    e.cancel = true
    è il codice che uso quando l'utente clicca su NO al messaggio "Vuoi chiudere il programma?"

    però questo codice se messo in formclosing funziona, messo invece in una funzione non funziona (scusate il gioco di parole)



    EDIT:
    Tra l'altro ho appena provato a creare due bottini, e scrivere appunto nel secondo sia buttonclick() sia call buttonclick..() e visual studio me lo segna come errore
    Dal titolo e primo post non credo sia lo stesso "discorso"....se aggiungi particolari a "spizzichi e bocconi" diventa un' altro "discorso"!
    Gli esempi di codice che ho postato sono corretti, se non "funzionano" li implementi male, non hai presente i concetti base o non sono adatti allo scopo.
    Posta il codice completo come dice Oregon.
    Ciao!

  9. #9
    Questo è ciò che sto facendo:
    codice:
        Private Sub Form1_FormClosing(sender As Object, e As FormClosingEventArgs) Handles Me.FormClosing
                If MessageBox.Show("Uscire?", "Esci", MessageBoxButtons.YesNo) = DialogResult.No Then
                    e.Cancel = True
                End If
        End Sub
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Form1_FormClosing()
        End Sub
    Invece questa è una prova che ho fatto (Questa funziona):
    codice:
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            messagebox.show("Prova")
    End Sub
    
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       Button1_Click(Button1, New System.EventArgs)
    End Sub

    Detto questo ho anche provato a modificare la riga di codice da:
    codice:
    Form1_FormClosing()
    a
    codice:
    Form1_FormClosing(me, New System.EventArgs)
    ma ugualmente non va, e credo che l'errore sia proprio questo "System.EventArgs"

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma FormClosing è un evento ... cosa chiami a fare un evento?

    Lasciando perdere un attimo le sintassi delle chiamate, tu cosa vuoi fare ?

    Se devi semplicemente chiudere il form devi scrivere

    Close()
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.