我的问题是,当子例程运行时,我不知道触发了哪个按钮,该按钮如何找到它。可变计数需要用单击的删除按钮编号替换。我不能为每个按钮提供一个单独的子例程,因为我不知道每次需要将用户添加多少个。

    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
有帮助吗?

解决方案

你可以从 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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top