获取触发事件的按钮的名称

时间:2015-05-05 17:33:50

标签: vb.net winforms events

我有一个处理多个按钮的click事件的事件处理程序:

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等都是按钮。 现在我需要一种方法来确定触发事件的按钮,并将按钮的名称作为字符串。有办法吗?感谢

2 个答案:

答案 0 :(得分:4)

您可以将sender转换为Button类型并访问Name属性。

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 :(得分:1)

使用sender - 它的目的是做什么。

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

如果您不止一次使用它,请将其分配给变量以使其更容易。

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