微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

VB.NET中的AddHandlers

我正在尝试动态创建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等的第一名.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐