Vb.net 如何删除从控件集合创建的对象的事件

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

我有以下错误消息

“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.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