Richiamare Sub da Sub

di il
5 risposte

Richiamare Sub da Sub

Ringraziando sempre per l'aiuto...

Avendo una HScrollBar, tipo
Private Sub HScrollBar1_Scroll(sender As Object, e As ScrollEventArgs) Handles HScrollBar1.Scroll
'...  codice ...
End Sub
Non riesco a richiamarla come faccio con le "semplici" tipo

Call Prova
Private Sub Prova()
...
end Sub
È che ho fatto una decina di ScrollBar che dovrei richiamare ogni tanto da altre Sub...
per utilizzarne il codice e volevo evitare di riscriverlo 10 volte in doppio... o ricreare delle Sub da richiamare dalle singole HScrollBar

Grazie per eventuali consigli su come meglio fare se sono riuscito a spiegarmi.

Ho cercato un po' qui e là...

5 Risposte

  • Re: Richiamare Sub da Sub

    Aggiungi la parte in grassetto

    Private Sub HScrollBar1_Scroll(sender As Object, e As ScrollEventArgs) Handles HScrollBar1.Scroll, HScrollBar2.Scroll

    e così via (se ho capito)

    Leggi questo documento

    https://docs.microsoft.com/it-it/dotnet/desktop/winforms/how-to-connect-multiple-events-to-a-single-event-handler-in-windows-forms?view=netframeworkdesktop-4.8
  • Re: Richiamare Sub da Sub

    AntoAnto ha scritto:


    Non riesco a richiamarla come faccio con le "semplici" tipo
    Call Prova
    Le Sub che hai creato sono tecnicamente dei metodi.

    Per invocarle da altre parti del codice, supponendo che si tratti della stessa classe, dovresti specificare anche i valori dei parametri che sono presenti nella loro dichiarazione.

    A mio avviso, faresti meglio a intervertire le cose, ossia a creare una tua Sub che a sua volta venga richiamata all'interno delle Sub (o dei metodi) che gestiscono gli eventi.

    Nel caso invece che tu intenda gestire con un'unica Sub (o metodo) tutti gli eventi di uno stesso tipo per tutte le HScrollbar, allora segui l'indicazione di oregon.

    Ciao!
  • Re: Richiamare Sub da Sub

    Grazie info Alka e Oregon,

    si come per i vari tasti (button), prima con VB6 avevo un array che se premevo mi dava il numero "tasto" clickato.

    Per i button ho risolto bonariamente con una sub click per ogni tasto che rimanda i valori ad una nuova SUB che ogni click richiama.

    Quando la richiamo gli passo i valori "per quel button" con le variabili (x,y,z) che ricevo, mandandoli quindi alla "sub comune"... diversi per ogni click

    grazie dei consigli
    Anto
  • Re: Richiamare Sub da Sub

    AntoAnto ha scritto:


    Grazie info Alka e Oregon,

    si come per i vari tasti (button), prima con VB6 avevo un array che se premevo mi dava il numero "tasto" clickato.

    Per i button ho risolto bonariamente con una sub click per ogni tasto che rimanda i valori ad una nuova SUB che ogni click richiama.

    Quando la richiamo gli passo i valori "per quel button" con le variabili (x,y,z) che ricevo, mandandoli quindi alla "sub comune"... diversi per ogni click

    grazie dei consigli
    Anto
    Gli array di strumenti con tanto di indice sono utilizzabili anche in VB.Net, ma è una domanda che non hai fatto.
    Richiamare il codice nella sub della scrollbar è possibile, anche se è preferibile fare delle sub a parte, che poi richiami dalla sub della scrollbar o da altre sub.

    Con questa chiamata salti al codice nella Private Sub HScrollBar1_Scroll(sender As Object, e As ScrollEventArgs) Handles HScrollBar1.Scroll senza bisogno di generare l'evento.
    
    Call HScrollBar1_Scroll(HScrollBar1, New ScrollEventArgs(New ScrollEventType, 0))
    
    PS. Call in VB.Net non serve
  • Re: Richiamare Sub da Sub

    anche se è preferibile fare delle sub a parte, che poi richiami dalla sub della scrollbar o da altre sub.
    Grazie dei preziosi consigli.
    Si, ho creato delle sub a parte per ogni Hscrollbar e modificato alcuni codici per renderli "simili" quindi ho fatto un'altra singola SUB che richiamo dalle varie Hscrollbar in una indipendente che rimanda ad una comune... riducendo di molto il codice visto che erano una decina con parti simili.
    Call HScrollBar1_Scroll(HScrollBar1, New ScrollEventArgs(New ScrollEventType, 0))
    Interessante, proverò anche questa...

    Grazie mille Rubik, molto gentile!

    ora mi dedico all'audio...

    ciao
Devi accedere o registrarti per scrivere nel forum
5 risposte