示例#1
0
 void OnWorkStatusChange(IJFWork worker, JFWorkStatus status, string info)
 {
     if (InvokeRequired)
     {
         BeginInvoke(new dgWorkStatusChange(OnWorkStatusChange), new object[] { worker, status, info });
         //Invoke(new dgWorkStatusChange(OnWorkStatusChange), new object[] { worker, status, info });
         return;
     }
     lbWorkStatus.Text = status.ToString();
     ShowTips(string.Format("Worker: \"{0}\" 工作状态变化: \"{1}\" info:{2}", worker.Name, status.ToString(), info));
 }
示例#2
0
        //响应工作状态改变消息,由MainStation发过来
        public void OnWorkStatusChanged(JFWorkStatus ws)
        {
            BeginInvoke(new Action(() => {
                switch (ws)
                {
                case JFWorkStatus.UnStart:    // = 0,    //线程未开始运行
                    _workStatusTxt        = "未开始";
                    lbRunStatus.ForeColor = Color.Black;
                    lbRunStatus.Text      = _workStatusTxt;
                    break;

                case JFWorkStatus.Running:    //,        //线程正在运行,未退出
                    _workStatusTxt        = "运行中";
                    lbRunStatus.ForeColor = Color.Green;
                    lbRunStatus.Text      = _workStatusTxt + " " + _currCustomStatus;
                    break;

                case JFWorkStatus.Pausing:    //,        //线程暂停中
                    _workStatusTxt        = "已暂停";
                    lbRunStatus.ForeColor = Color.Yellow;
                    lbRunStatus.Text      = _workStatusTxt + " " + _currCustomStatus;
                    return;

                case JFWorkStatus.Interactiving:    //,  //人机交互 , 等待人工干预指令
                    _workStatusTxt        = "等待输入";
                    lbRunStatus.ForeColor = Color.Yellow;
                    lbRunStatus.Text      = _workStatusTxt + " " + _currCustomStatus;
                    break;

                case JFWorkStatus.NormalEnd:    //,     //线程正常完成后退出
                    _workStatusTxt        = "正常结束";
                    lbRunStatus.ForeColor = Color.Black;
                    lbRunStatus.Text      = _workStatusTxt;
                    break;

                case JFWorkStatus.CommandExit:    //,    //收到退出指令
                    _workStatusTxt        = "指令结束";
                    lbRunStatus.ForeColor = Color.Black;
                    lbRunStatus.Text      = _workStatusTxt;
                    break;

                case JFWorkStatus.ErrorExit:    //,      //发生错误退出,(重启或人工消除错误后可恢复)
                    _workStatusTxt        = "错误停止";
                    lbRunStatus.ForeColor = Color.Red;
                    lbRunStatus.Text      = _workStatusTxt + " " + _currCustomStatus;
                    break;

                case JFWorkStatus.ExceptionExit:    //,  //发生异常退出 ,  (不可恢复的错误)
                    _workStatusTxt        = "异常停止";
                    lbRunStatus.ForeColor = Color.Red;
                    lbRunStatus.Text      = _workStatusTxt + " " + _currCustomStatus;
                    break;

                case JFWorkStatus.AbortExit:    //,      //由调用者强制退出
                    _workStatusTxt        = "强制退出";
                    lbRunStatus.ForeColor = Color.Red;
                    lbRunStatus.Text      = _workStatusTxt + " " + _currCustomStatus;
                    break;

                default:
                    _workStatusTxt        = ws.ToString();
                    lbRunStatus.ForeColor = Color.Red;
                    lbRunStatus.Text      = _workStatusTxt + " " + _currCustomStatus;
                    break;
                }
                fmTips.AddOneTips("运行状态改变为:" + _workStatusTxt);
                return;
            }));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="currWorkStatus"></param>
        public void OnWorkStatusChanged(object station, JFWorkStatus currWorkStatus)
        {
            if (!Created)
            {
                return;
            }
            if (InvokeRequired)
            {
                Invoke(new dgWorkStatusChanged(OnWorkStatusChanged), new object[] { station, currWorkStatus });
                return;
            }
            string wsName = "";

            switch (currWorkStatus)
            {
            case JFWorkStatus.UnStart:    // = 0,    //线程未开始运行
                wsName = "未开始";
                break;

            case JFWorkStatus.Running:    //,        //线程正在运行,未退出
                wsName = "运行中";
                break;

            case JFWorkStatus.Pausing:    //,        //线程暂停中
                wsName = "已暂停";
                break;

            case JFWorkStatus.Interactiving:    //,  //人机交互 , 等待人工干预指令
                wsName = "人工干预";
                break;

            case JFWorkStatus.NormalEnd:    //     //线程正常完成后退出
                wsName = "正常结束";
                break;

            case JFWorkStatus.CommandExit:    //,    //收到退出指令
                wsName = "指令结束";
                break;

            case JFWorkStatus.ErrorExit:    //,      //发生错误退出,(重启或人工消除错误后可恢复)
                wsName = "错误退出";
                break;

            case JFWorkStatus.ExceptionExit:    //,  //发生异常退出 ,  (不可恢复的错误)
                wsName = "异常退出";
                break;

            case JFWorkStatus.AbortExit:    //,      //由调用者强制退出
                wsName = "强制终止";
                break;

            default:
                wsName = currWorkStatus.ToString();
                break;
            }
            if (_stationUI is IJFStationMsgReceiver)
            {
                (_stationUI as IJFStationMsgReceiver).OnWorkStatusChanged(currWorkStatus);
            }
            toolStripTextBoxWorkStatus.Text = "运行状态:" + wsName;
            ShowTips("运行状态:" + wsName);
        }