Créer un abonnement

Vous créez un abonnement dans la méthode
Start()
.
CONSEIL:
Pour insérer automatiquement une nouvelle méthode :
  • Dans Visual Studio, placez le caret après l’opérateur
    +=
    et appuyez deux fois sur la touche
    TAB
    .
  • Dans Visual Studio Code, reportez-vous aux suggestions de l’éditeur.

Exemple

Dans cet exemple, la méthode
Session_UserChange
est abonnée à l’événement de changement d’utilisateur à l’aide du gestionnaire d’événements
UserChange
et de l’opérateur
+=
.
public override void Start() { Session.UserChange += Session_UserChange; }
IMPORTANT: Annulez toujours l'abonnement dans la méthode
Stop()
pour éviter une fuite de mémoire. Consultez la rubrique Annuler un abonnement.
L’exemple suivant présente la méthode
Session_UserChange
.
private void Session_UserChange(object sender, UserChangeEventArgs e) { Log.Info(e.newUser.BrowseName); }
sender
Objet
IUAObject
correspondant à l’origine du nœud de l’événement.
e
Objet C# contenant les données d’événement en fonction du type de données du gestionnaire d’événements (
UserChangeEventArgs
dans l’exemple).

Gestionnaires d’événements

Selon le type d’événement, créez un abonnement à l’aide de différents gestionnaires d’événements.
Événement de changement de valeur d’une variable
Pour abonner une méthode au changement de valeur d’une variable, utilisez le gestionnaire d’événements
VariableChange
fourni par la classe
IUAVariable
. Consultez la rubrique IUAVariable.VariableChange.
Tous les événements générés par un objet
Pour abonner une méthode à tous les événements générés par un objet, utilisez le gestionnaire d’événements
UAEvent
, fourni par la classe
IUAObject
. Consultez la rubrique IUAObject.UAEvent.
Un événement spécifique d’un objet
Pour abonner une méthode à un événement spécifique généré par un objet, utilisez le gestionnaire d’événements correspondant fourni par le type.
Dans cet exemple, le gestionnaire d’événements
OnMouseClick
exécute la méthode
Button2_OnMouseClick
à chaque actionnement du
Button2
. Le gestionnaire d’événements
OnMouseClick
est fourni par la classe
Button
.
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; }
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.