protected override void OnClosing(CancelEventArgs e) { referencesProcess.ProcessStart -= ReferencesProcess_ProcessStart; referencesProcess.ProcessStop -= ReferencesProcess_ProcessStop; referencesProcess.StopProcess(); if (referencesProcess.IsRunning) { e.Cancel = true; this.Text = "正在停止测试..."; this.Enabled = false; System.Threading.ThreadPool.QueueUserWorkItem((o) => { while (referencesProcess.IsRunning) { } this.Invoke(new Action(() => { this.Close(); })); }); } base.OnClosing(e); }
protected override void OnClosed(EventArgs e) { base.OnClosed(e); MeasurementSystemSetting.LoadSystem(1); referencesMonitoring.Enabled = false; if (measurementJob != null) { measurementJob.Logout(); } if (referencesProcess != null) { referencesProcess.StopProcess(); } if (measurementProcess != null) { measurementProcess.StopProcess(); } if (measurementController != null) { measurementController.Disconnect(); measurementController.Dispose(); } }