/ / Ottieni il nome del pulsante che ha attivato l'evento: vb.net, winforms, eventi

Ottieni il nome del pulsante che ha attivato l'evento: vb.net, winforms, eventi

Ho un gestore di eventi che gestisce l'evento click di più pulsanti:

Private Sub primeHandler(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _2s.Click, _3s.Click, _4s.Click, _5s.Click, _6s.Click

End Sub

_2s, _3s, ecc. Sono tutti pulsanti. Ora ho bisogno di un modo per determinare quale pulsante ha attivato l'evento e ottenere anche il nome del pulsante come stringa. Come posso farlo? Grazie

risposte:

4 per risposta № 1

Puoi lanciare sender digitare Button e accedere alla proprietà Nome.

Private Sub primeHandler(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles _2s.Click, _3s.Click, _4s.Click, _5s.Click, _6s.Click
Dim myButton As Button = CType(sender, Button)
Dim myName As String = myButton.Name
End Sub

1 per risposta № 2

Uso sender - È ciò che è stato progettato per fare.

MessageBox.Show((sender as Button).Name);

Se lo userai più di una volta, assegnalo a una variabile per renderlo più facile.

var button = (sender as Button);
MessageBox.Show(button.Name);