Domanda

Il mio problema è che quando la subroutine non so quale pulsante lo abbia fatto attivare come posso scoprirlo. Il conteggio delle variabili deve essere sostituito con il numero di eliminazione del pulsante che è stato fatto clic. Non posso avere una subroutine separata per ogni pulsante in quanto non so quanti utente deve essere aggiunto al modulo in ogni occasione.

    Dim delete1 = Sub()
        .Remove(label1(count, 1))
        .Remove(combo1(count, 1))
        .Remove(label1(count, 2))
        .Remove(combo1(count, 2))
        .Remove(label(count, 3))

                 End Sub

    For counter = 1 To count
        AddHandler MyClass.button1(counter).Click, delete1
    Next
È stato utile?

Soluzione

Puoi ottenerlo dal sender discussione:

Private Sub delete1(sender As System.Object, e As System.EventArgs)

    Dim curButton As Button = DirectCast(sender, Button) 'Button you clicked

End Sub

Si noti che il codice per aggiungere direttamente la funzione di cui sopra (senza delegate) è:

AddHandler MyClass.button1(counter).Click, AddressOf delete1
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top