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 № 1Puoi 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);