Vb.net 如何删除从控件集合创建的对象的事件
我有以下错误消息 “AddressOf”操作数必须是方法的名称(不带括号) 尝试以下代码时:Vb.net 如何删除从控件集合创建的对象的事件,vb.net,Vb.net,我有以下错误消息 “AddressOf”操作数必须是方法的名称(不带括号) 尝试以下代码时: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim xbutton As Control For Each xbutton In gcFRightMenu.Con
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
Dim xbutton As Control
For Each xbutton In gcFRightMenu.Controls
If xbutton.Name = commandbutton(0) Then
RemoveHandler xbutton.MouseDown, AddressOf xbutton.MouseDown
AddHandler xbutton.MouseDown, AddressOf _MouseDown
End If
Next
End Sub
Private Sub _MouseDown(ByVal sender As Object,
ByVal e As System.Windows.Forms.MouseEventArgs)
If e.Button = Windows.Forms.MouseButtons.Left Then SendKeys.Send("{ESC}")
End Sub
无法删除事件
RemoveHandler xbutton.MouseDown, AddressOf xbutton.MouseDown
AddressOf
需要方法的名称,但xbutton.MouseDown
是事件的名称
如果要确保eventhandler\u MouseDown
只向控件添加了一个,请在添加之前始终将其删除
For Each xbutton In gcFRightMenu.Controls
If xbutton.Name = commandbutton(0) Then
RemoveHandler xbutton.MouseDown, AddressOf _MouseDown
AddHandler xbutton.MouseDown, AddressOf _MouseDown
End If
Next