IUAVariable.VariableChange
This event occurs when the value of the project variable that the IUAVariable
C# object references changes.
event EventHandler<VariableChangeEventArgs> VariableChange;
Important:
If the project variable refers to a field variable, the event is generated only if the project variable is kept synchronized with the field through a
RemoteVariableSynchronizer
object, unless a link to the following entities exists:
-
Tag variable from a graphical object
-
Data logger object
-
Alarm
-
Recipe schema object
In such a scenario, in a NetLogic, you can subscribe the change value method directly to the linked tag variable.
Event handler
The
VariableChange
event handler enables you to subscribe a method to the event of the same name.
public delegate void VariableChange(object sender, VariableChangeEventArgs e);
Event handler arguments
sender
(object)- A C# object that corresponds to the object of the project origin of the event.
e
(VariableChangeEventArgs)-
A C# object that contains the following properties:
variable
(IUAVariable)- The project variable that generated the event.
newValue
(UAValue)- The new value of the variable.
oldValue
(UAValue)- The previous value of the variable.
indexes
(uint[])-
Only for arrays: The indexes of the array cells in which the value has changed.
Tip: The property is empty if the value in each cell changes or if the project variable is scalar.
Example
The
Variable1_VariableChange
method is executed each time the project variable Variable1
changes value.
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;
}