【发布时间】:2013-07-08 17:05:02
【问题描述】:
我有一个无法解决的问题。
我创建了一个带有 for 循环的简单表单,用于处理 n 个按钮的创建,在循环结束时,我为按钮设置了 .Click 事件的特定子项
AddHandler btn.Click AddressOf mySub
现在我想在课堂上做同样的事情。所以我创建了我的新类然后我写了一个简单的方法
Public Sub buttonCreation(byval nButton as Integer)
该方法与表单中的方法完全相同,但是当我必须为按钮的 .Click 事件添加处理程序时,我卡住了。
然后我尝试创建一个委托,但我无法使用它,AddressOf 只接受不带括号的方法的名称。
编辑
我在表单中创建了委托
Dim delegate As EventHandler
delegate = New EventHandler(AddressOf mySub)
然后我调用我的类方法并将委托作为参数传递
ClassA.buttonCreation(10, delegate)
我卡在这里应该在循环结束时分配给子按钮来调用事件。点击被触发,我尝试这样做但显然不起作用
AddHandler btn.Click AddressOf delegate
你能帮帮我吗? 最好的问候
PS:显然我要指向的方法不在类内部,而是在表单内部。
【问题讨论】:
-
你写了什么代码?你得到了什么错误?
-
我创建了一个委托,将表单中的“MySub”方法作为参数传递给我的类中的“buttonCreation”方法。
-
@Yve 已更新,感谢您的耐心等待
-
@Yve 我认为这就够了,不幸的是我使用了。从仅仅 2 年开始,我仍然有很多事情我无法完全处理。再次感谢您。
-
@Yve 以某种方式链接会帮助我,他们总是这样做 =)。我还没有解决,但我正在考虑可能的解决方案