Wie zum hinzufügen von event-handler-lokale Variablen in VB.NET
Ich habe ein Formular in VB.NET als dialog im mainform. Seine Instanzen sind immer lokal definiert, da es kein Feld für. Wenn der Benutzer klickt auf den OK-button im dialog, es wird ein Ereignis ausgelöst, mit genau einem argument eine Instanz einer meiner Klassen.
Da ist es immer eine lokale variable, wie kann ich einen event-handler für das Ereignis? Ich gesucht habe für mich und auch was gefunden aber ich kann nicht wirklich herausfinden...
Code für das Ereignis, ein Feld, in MyDialog
:
public Event ObjectCreated(ByRef newMyObject as MyObject)
Code für das Hauptformular zu call dialog : (never mind the syntax)
Dim dialog As New MyDialog()
dialog.ShowDialog(Me)
AddHandler ObjectCreated, (what do I put here?) //Or how do I add a handler?
Wie Sie sehen können ich bin stecken, wie fügen Sie einen Ereignishandler für meine Veranstaltung. Kann mir jemand helfen? Vorzugsweise mit der beste Weg, es zu tun...
InformationsquelleAutor MarioDS | 2012-04-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es wird empfohlen, für die Konsistenz, dass Sie die gleiche Quelle und event-args-Modell, wie alle system-event-Handler.
Erstellen Ihrer eigenen Klasse, die von EventArgs, wie:
Dann erklären Sie Ihre Veranstaltung, und eine handler-Methode, wie:
Befestigen Sie dann die handler, die zu Ihrer Veranstaltung mit:
Darüber hinaus können Sie die
Handles
zu befestigen, um das ausgelöste Ereignis aus dem Hauptformular (vorausgesetzt, der name MainForm), als unten:Ich dachte, Ihre Frage enthalten ", die Vorzugsweise mit der beste Weg, es zu tun...". Warum würden Sie un-mark-meine Antwort?
Nun, ich erkannte sofort, also nahm ich an Euch wieder, sorry für die Verwirrung.
InformationsquelleAutor Mike Guthrie
Müssen Sie schreiben Sie das Unterprogramm tatsächlich ausgeführt wird, wenn das Ereignis generiert wird:
Dann wird der handler Hinzugefügt:
Als eine Randnotiz, ByRef bedeutet hier nichts. Alle Objekte in VB Verweis übergeben werden. Nur primitave Variablen (string, int, usw.) werden standardmäßig unter Verwendung von ByVal und ByRef
InformationsquelleAutor Robert Beaubien