void IRealTimeStartStop.Start() { if (ss != null) { ss.Start(); } }
/// <summary> /// Enable runtime /// </summary> /// <param name="control">Control</param> /// <param name="enable">Enable</param> /// <param name="calculationReason">Calculation reason</param> /// <param name="list">List of updates</param> public static void EnableRuntime(this Control control, bool enable, string calculationReason = null, List <IRealtimeUpdate> list = null) { foreach (Control c in control.Controls) { c.EnableRuntime(enable, calculationReason, list); } if (control is IShowForm) { Control f = (control as IShowForm).Form as Control; if (f != null) { if (!f.IsDisposed) { f.EnableRuntime(enable, calculationReason, list); } } } if (calculationReason != null) { if (control is ICalculationReason) { (control as ICalculationReason).CalculationReason = calculationReason; } } if (control is IRealTimeStartStop) { IRealTimeStartStop rt = control as IRealTimeStartStop; if (enable) { control.InvokeIfNeeded(() => rt.Start()); } else { rt.Stop(); } } if (list != null) { if (control is IRealtimeUpdate) { IRealtimeUpdate up = control as IRealtimeUpdate; if (!list.Contains(up)) { list.Add(up); } } } }