Entfernen Sie nur einen bestimmten event-handler in vb.net

Schreibe ich eine kleine 2D-engine, die verwendet Lua zu Steuern. Ich habe bereits die Einstellung von Ereignissen zwischen dem Lua und der VB.net für die letzten kleine Weile hier. Das problem, das ich erkannt habe, ist, dass ich kann nicht scheinen, um entfernen Sie die Ereignisse, die Schrauben schon ein paar Dinge (denn Sie werden aufgerufen, wenn Sie getan werden sollte, mit). Um dies zu beheben, wollte ich hinzufügen, dass einige Art und Weise zu entfernen, die bestimmten event-handler.

Ich weiß, wie das hinzufügen eines event-handler:

AddHandler Button1.Click, AddressOf Button1Clicked

Aber mit diesem im Verstand, ist Ihr ein Weg, um zu entfernen, die einen bestimmten event-handler in der VB.net?

Dank!

BEARBEITEN

Sorry, ich wusste nicht erklären das sehr gut:

Wenn ich diese habe:

public sub setupevent(byval func as LuaFunction)
    AddHandler Me.event_mouseup, Sub(x As Integer, y As Integer)
        func.Call(x, y)
    End Sub
end sub

(Somewhere else)

setupevent(someLuaFunction)
setupevent(someOtherLuaFunction)
setupevent(JustAnotherLuaFunction)

Ist es ein Weg, um entfernen Sie nur eines dieser Ereignis-verbindungen on-the-fly?

  • Mit lambda ist Ihr problem, Sie kann nicht entfernt werden. Tun Sie es auf die alte Weise mit einer separaten Methode als event-handler, und Sie werden kein problem haben, mit RemoveHandler.
  • Könnten Sie bitte erklären, wie tun Sie das?
  • Sie müssen erklären, warum Markus' Antwort nicht weiterhelfen konnte.
InformationsquelleAutor Freesnöw | 2011-12-13
Schreibe einen Kommentar