获取点击事件中按钮的ID /名称。 VB.NET

时间:2013-01-28 16:08:43

标签: vb.net

我在VB.NET中有一个事件可以同时处理几个按钮点击。我需要知道选择中的哪个按钮启动了该事件。任何想法如何做到这一点?我的代码如下:

Private Sub Answer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnswer1.Click, btnAnswer2.Click, btnAnswer3.Click, btnAnswer4.Click
    'output button ID that caused event
End Sub

我已经尝试过sender.Id,e.Id,sender.name,e.name。他们都没有工作

3 个答案:

答案 0 :(得分:16)

您必须将发件人转换为预期的对象类型。

 Dim btn As Button = CType(sender, Button)

然后你可以访问你需要的东西。

答案 1 :(得分:2)

试试CType(Sender, Button).Name。发件人是一个对象,你需要在这种情况下转换为调用类型Button。如果您需要发件人的更多属性,请使用U1199880的答案。但通常当我尝试处理多次点击时,我将使用Tag属性,为其分配索引。这样的事情。

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click
    Dim index As Integer
    If Not Integer.TryParse(CType(sender, Button).Tag.ToString, index) Then Exit Sub

    Select Case index
        Case 0

        Case 1

        Case 2
            ....
    End Select

End Sub

答案 2 :(得分:-2)

更简单:

如果发件人是btnAnswer1,那么......