使用添加处理程序启动子例程的对象名称

时间:2013-11-07 15:29:18

标签: vb.net addhandler

我的问题是当子程序运行时我不知道哪个按钮导致它被触发我怎么能找到它。需要使用单击的删除按钮编号替换变量计数。 我不能为每个按钮设置单独的子程序,因为我不知道每次需要将多少用户添加到表单中。

    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

1 个答案:

答案 0 :(得分:3)

您可以从sender参数中获取它:

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

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

End Sub

请注意,直接添加上述功能的代码(不含delegate)是:

AddHandler MyClass.button1(counter).Click, AddressOf delete1