/// <summary> /// 后台线程执行完毕--初始化系统设备资源 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BackgrdWorker_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e) { string txt = ""; string caption = ""; if (_frmCheckProcess != null) { _frmCheckProcess.BackgrdWorker.CancelAsync(); _frmCheckProcess.StopTimer(); _frmCheckProcess.Close(); _frmCheckProcess = null; } if (SysChkOK) { //根据配置文件,进行资源配置 InitExternal(); IsRunAllowed = true; } else { txt = ChkLangIsChinese ? "系统自检异常!\r\n" : "Check system error !\r\n"; caption = ChkLangIsChinese ? "错误信息" : "Error Message"; ProCommon.DerivedForm.FrmMsgBox.Show(txt + SysChkError, caption, ProCommon.DerivedForm.MyButtons.OK, ProCommon.DerivedForm.MyIcon.Error, ChkLangIsChinese); Environment.Exit(-1); } }
/// <summary> /// 系统自检 /// [检查系统运行所需资源是否存在,若存在则正常运行,否则提示异常并退出] /// </summary> /// <param name="showProcess"></param> public void CheckSystem(bool showProcess) { if (_frmCheckProcess == null) { _frmCheckProcess = new ProCommon.DerivedForm.FrmCheckProgress(); _frmCheckProcess.BackgrdWorker.DoWork += BackgrdWorker_DoWork; _frmCheckProcess.BackgrdWorker.RunWorkerCompleted += BackgrdWorker_RunWorkerCompleted; } _frmCheckProcess.BackgrdWorker.RunWorkerAsync(); //显示模态窗口,才能使程序先进入自检过程 _frmCheckProcess.ShowDialog(); }