加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

VB.NET中的AddHandlers

发布时间:2020-12-17 07:25:57 所属栏目:百科 来源:网络整理
导读:我正在尝试动态创建dropdownList框,我想尝试向它们添加AddHandlers,以便当在其中选择一个项目时,它会触发一个事件,但也需要传递另一个变量,我不知道该怎么做put作为system.EventArgs的参数.请查看下面的代码,看看我遇到的问题. AddHandler inputDrop.Selecte
我正在尝试动态创建dropdownList框,我想尝试向它们添加AddHandlers,以便当在其中选择一个项目时,它会触发一个事件,但也需要传递另一个变量,我不知道该怎么做put作为system.EventArgs的参数.请查看下面的代码,看看我遇到的问题.

AddHandler inputDrop.SelectedIndexChanged,AddressOf selOption(inputDrop,???,var1)

Protected Sub selOption(ByVal sender As Object,ByVal e As System.EventArgs,ByVal tableCount As String)

End Sub

我在这里放什么(???)

错误:

is an event,and cannot be called directly. Use a ‘RaiseEvent’ statement to raise an event.

解决方法

此外,Mike C已经解释过,如果事件处理程序的签名与事件不匹配,您始终可以将事件处理程序包装在另一个方法中,例如匿名方法:

Protected Sub selOption(ender As Object,e As System.EventArgs,somestring As String)

End Sub

...

For i = 1 To 10
    Dim cbox = new ComboBox()
    Dim number = i ' local copy to prevent capturing of i '
    AddHandler cbox.SelectedIndexChanged,Sub(s,e) selOption(s,e,"Hi! I am Number " & number)
Next

现在,当最后一个ComboBox的索引发生变化时,传递给selOption的somestring参数将为Hi!我是第10号,而它会是嗨!我是第一个ComboBox等的第一名.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读