IUAVariable.VariableChange
此事件会在
IUAVariable
C# 对象引用的项目变量值发生更改时发生。event EventHandler<VariableChangeEventArgs> VariableChange;
重要提示:
如果项目变量引用字段变量,则仅当项目变量通过
RemoteVariableSynchronizer
对象与字段保持同步时才会生成该事件,除非存在指向以下实体的链接:- 图形对象的标签变量
- 数据记录器对象
- 报警
- 配方模式对象
在这种情况下,可以在 NetLogic 中直接在链接的标签变量中订阅值更改方法。
事件处理程序
通过
VariableChange
事件处理程序,可以为同名事件订阅方法。public delegate void VariableChange(object sender, VariableChangeEventArgs e);
事件处理程序参数
- sender(object)
- 与事件项目来源的对象相对应的 C# 对象。
- e(VariableChangeEventArgs)
- 包含以下属性的 C# 对象:
- variable(IUAVariable)
- 用于生成事件的项目变量。
- newValue(UAValue)
- 变量的新值。
- oldValue(UAValue)
- 上一个变量值。
- indexes(uint[])
- 仅适用于数组:值发生变化的数组单元的索引。小贴士: 如果每个单元中的值发生变化或项目变量为标量,则属性为空。
示例
项目变量
Variable1
的值每次发生变化时都将执行 Variable1_VariableChange
方法。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; }
提供反馈