protected virtual void OnDialogEnsureClicked(object sender, SimuArgsDialogValuesArgs e) { if (sender == dialog) { VariableUnitChangeEventArgs _e = new VariableUnitChangeEventArgs(); for (int i = 0; i < 5; i++) { if (this[i + 1] != null) { if (!(e.Values[i] is SimuArgsDialogUnlockValue)) { this[i + 1].Islocked = true; this[i + 1].Value = e.Values[i]; _e.Old = _e.New = this[i + 1]; if (e.IsLocks[i]) { VariableUnitLocked(this, _e); } else { VariableUnitValueChanged(this, _e); } Update(); } if (e.Values[i] is SimuArgsDialogUnlockValue && this[i + 1].Islocked) { this[i + 1].Islocked = false; _e.Old = _e.New = this[i + 1]; VariableUnitUnlocked(this, _e); Update(); } } } dialog.Close(); dialog = null; Update(); } }
/// <summary> /// 监视变量单次修改时发生 /// </summary> /// <param name="sender">发送源</param> /// <param name="e">事件</param> private void OnVariableUnitValueChanged(object sender, VariableUnitChangeEventArgs e) { smanager.Change(e.Old); }
/// <summary> /// 监视变量解锁时发生 /// </summary> /// <param name="sender">发送源</param> /// <param name="e">事件</param> private void OnVariableUnitUnlocked(object sender, VariableUnitChangeEventArgs e) { smanager.Unlock(e.Old); }
/// <summary> /// 监视变量改变时发生 /// </summary> /// <param name="sender">发送源</param> /// <param name="e">事件</param> private void OnVariableUnitChanged(object sender, VariableUnitChangeEventArgs e) { smanager.Replace(e.Old, e.New); }