Abonnement erstellen
Sie erstellen ein Abonnement innerhalb der
Start()
-Methode.
TIPP:
So fügen Sie eine neue Methode automatisch ein:
- Setzen Sie in Visual Studio das Einfügezeichen nach dem+=-Operator und drücken Sie dann die-Taste zweimal.TAB
- Weitere Hinweise finden Sie in Visual Studio Code unter „Editor-Vorschläge“.
Beispiel
In diesem Beispiel wird die Methode
Session_UserChange
für das Benutzeränderungsereignis mithilfe des Ereignishandlers UserChange
und des +=
-Operators abonniert.public override void Start() { Session.UserChange += Session_UserChange; }
WICHTIG:
Kündigen Sie das Abonnement immer in der
Stop()
-Methode, um Speicherleaks vorzubeugen. Weitere Informationen finden Sie unter Abonnement kündigen.Das folgende Beispiel zeigt die
Session_UserChange
-Methode.private void Session_UserChange(object sender, UserChangeEventArgs e) { Log.Info(e.newUser.BrowseName); }
- sender
- DasIUAObject-Objekt, das dem Ursprungsknoten des Ereignisses entspricht.
- e
- Das C#-Objekt, das die auf dem Datentyp des Ereignishandlers (in unserem BeispielUserChangeEventArgs) basierenden Ereignisdaten enthält.
Ereignishandler
Erstellen Sie ein Abonnement in Abhängigkeit des Ereignistyps mithilfe verschiedener Ereignishandler.
- Wertänderung eines Variablenereignisses
- Um eine Methode für die Wertänderung einer Variablen zu abonnieren, verwenden Sie den EreignishandlerVariableChange, der von der KlasseIUAVariablebereitgestellt wird. Weitere Informationen finden Sie unter IUAVariable.VariableChange.
- Alle von einem Objekt generierten Ereignisse
- Um eine Methode für alle von einem Objekt generierten Ereignisse zu abonnieren, verwenden Sie den EreignishandlerUAEvent, der von der KlasseIUAObjectbereitgestellt wird. Weitere Informationen finden Sie unter IUAObject.UAEvent.
- Ein bestimmtes Ereignis eines Objekts
- Um eine Methode für ein bestimmtes von einem Objekt generiertes Ereignis zu abonnieren, verwenden Sie den entsprechenden von diesem Typ bereitgestellten Ereignishandler.In diesem Beispiel führt der EreignishandlerOnMouseClickdie MethodeButton2_OnMouseClicknach jedem Drücken vonButton2aus. Der EreignishandlerOnMouseClickwird von der KlasseButtonbereitgestellt.public override void Start() { var button2 = Owner.Get<Button>("Button2"); button2.OnMouseClick += Button2_OnMouseClick; } private void Button2_OnMouseClick(object sender, MouseClickEvent e) { var label2 = Owner.Get<Label>("Label2"); var button = (Button)sender; label2.Text = "Mouse click event on " + button.BrowseName; }
Rückmeldung geben