IUAVariable.VariableChange

Cet événement se produit lorsque change la valeur de la variable de projet à laquelle l’objet C#
IUAVariable
fait référence.
event EventHandler<VariableChangeEventArgs> VariableChange;
IMPORTANT:
Si la variable de projet fait référence à une variable de champ, l’événement n’est généré que si la variable de projet est maintenue synchronisée avec le champ via un objet
RemoteVariableSynchronizer
, sauf si un lien avec les entités suivantes existe :
  • Variable de balise à partir d’un objet graphique
  • Objet de l’enregistreur de données
  • Alarme
  • Objet de schémas de recettes
Dans un tel scénario, dans un NetLogic, vous pouvez abonner la méthode de modification de valeur directement à la variable de balise liée.

Gestionnaire d’événements

Le gestionnaire d’événements
VariableChange
vous permet d’abonner une méthode à l’événement du même nom.
public delegate void VariableChange(object sender, VariableChangeEventArgs e);

Arguments du gestionnaire d’événements

sender
(object)
Objet C# correspondant à l’objet de l’origine du projet de l’événement.
e
(VariableChangeEventArgs)
Objet C# contenant les propriétés suivantes :
variable
(IUAVariable)
Variable de projet qui a généré l’événement.
newValue
(UAValue)
Nouvelle valeur de la variable.
oldValue
(UAValue)
Valeur précédente de la variable.
indexes
(uint[])
Uniquement pour les tableaux :
Index des cellules du tableau dans lesquelles la valeur a été modifiée.
CONSEIL: La propriété est vide si la valeur de chaque cellule est modifiée ou si la variable de projet est scalaire.

Exemple

La méthode
Variable1_VariableChange
est exécutée chaque fois que la variable de projet
Variable1
change de valeur.
public override void Start() { var variable1 = Project.Current.GetVariable("Model/Variable1"); variable1.VariableChange += Variable1_VariableChange; } private void Variable1_VariableChange(object sender, VariableChangeEventArgs e) { var label1 = Owner.Get<Label>("Label1"); label1.Text = "Value of " + e.Variable.BrowseName + " changed from " + e.OldValue + " to " + e.NewValue; }
Fournir une réponse
Vous avez des questions ou des commentaires sur cette documentation ? Veuillez envoyer vos commentaires ici.