我正在尝试动态创建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] 举报,一经查实,本站将立刻删除。