【发布时间】:2011-10-30 01:04:03
【问题描述】:
我有通过代码(动态)生成的按钮。我必须将一个事件(相同的)与他们联系起来。我用AddHandler button.click, AddressOf mysub。
问题是 mysub 得到一个字符串 (mysub(string)),但 AddressOf 不接受例程内的参数。我怎样才能做到这一点?也使用 AddressOf 的替代方法。
Public Class Form1
...
Private Sub mysub(ByVal sender As Object, ByVal e As System.EventArgs, ByVal str As String)
...
...
End Sub
...
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
...
While something
...
Dim btn As New Button
...
AddHandler btn.click, AddressOf mysub 'here the issue
End While
...
End Sub
End Class
【问题讨论】:
-
按钮产生点击,而不是字符串。想一想。
-
你不明白......现在看看我的场景。
-
我需要它!所以,我不能删除它。我也在寻找 AddressOf 的替代品来做我需要的事情。
-
我很确定按钮单击不能传递字符串。到底是什么字符串?用户点击,你知道是哪个按钮,如果你需要一个字符串,在初始化按钮的时候把它放在按钮TAG中,然后点击就可以使用
-
@Martin:我爱你啊哈哈哈哈:D 简单而完美!我在 Form1_Load 中使用 btn.Tag=string 并在 mysub 中添加了“Dim bttn As Button = DirectCast(sender, Button)”...所以,我可以在需要的地方使用 bttn.Tag :)