【问题标题】:Object name of that started subroutine using add handler使用添加处理程序启动的子例程的对象名称
【发布时间】:2013-11-07 15:29:18
【问题描述】:

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

    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

【问题讨论】:

    标签: vb.net addhandler


    【解决方案1】:

    您可以从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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-27
      • 1970-01-01
      • 2012-07-09
      • 2015-09-08
      • 2023-03-30
      • 1970-01-01
      • 2018-04-24
      相关资源
      最近更新 更多