领胜LDS 键盘AOI检测项目
patrick.xu
2020-12-16 5241a8f6377dfd1618610dd15fd05ed6f51c8ba2
src/Bro.UI.Config/MenuForms/FrmOperation.cs
@@ -27,17 +27,6 @@
            LoadProcessCode();
            LoadProductionCode();
            Task.Run(() =>
            {
                Thread.Sleep(1000);
                if ((!plProcess.Visible) && (!plProduct.Visible) && _isFirstLoad)
                {
                    LoadProcess();
                    _isFirstLoad = false;
                }
            });
        }
        #region Load Codes
@@ -66,7 +55,7 @@
                pCodes = systemProcessCodes;
            }
            if (pCodes.Count == 1 && pCodes[0] == "")
            if (pCodes.Count == 1)
            {
                plProcess.Visible = false;
                _processCode = pCodes[0];
@@ -74,12 +63,21 @@
            }
            else
            {
                pCodes.Remove("");
                pCodes.RemoveAll(p => string.IsNullOrWhiteSpace(p));
            }
            if (pCodes.Count > 1)
            {
                plProcess.Visible = true;
                //if (!string.IsNullOrWhiteSpace(SettingHelper.SettingInfo.DefaultProcess))
                //{
                //    if (pCodes.Contains(SettingHelper.SettingInfo.DefaultProcess))
                //    {
                //        pCodes.Remove(SettingHelper.SettingInfo.DefaultProcess);
                //        pCodes.Insert(0, SettingHelper.SettingInfo.DefaultProcess);
                //    }
                //}
                cboProcessCode.SelectedIndexChanged -= cboProcessCode_SelectedIndexChanged;
                UIHelper.SetCombo(cboProcessCode, pCodes, "", "");
@@ -104,6 +102,16 @@
            if (pCodes.Count > 1)
            {
                plProduct.Visible = true;
                //if (!string.IsNullOrWhiteSpace(SettingHelper.SettingInfo.DefaultProduction))
                //{
                //    if (pCodes.Contains(SettingHelper.SettingInfo.DefaultProduction))
                //    {
                //        pCodes.Remove(SettingHelper.SettingInfo.DefaultProduction);
                //        pCodes.Insert(0, SettingHelper.SettingInfo.DefaultProduction);
                //    }
                //}
                cboProductionCode.SelectedIndexChanged -= cboProductionCode_SelectedIndexChanged;
                UIHelper.SetCombo(cboProductionCode, pCodes, "", "");
                cboProductionCode.SelectedIndexChanged += cboProductionCode_SelectedIndexChanged;
@@ -137,6 +145,8 @@
            LogAsync(DateTime.Now, "载入流程");
            LoadProcess();
            SettingHelper.SetDefault(_processCode, _productionCode);
        }
        bool isStart = true;
@@ -150,11 +160,8 @@
            btnStart.Enabled = false;
            //Task.Run(() =>
            //{
            try
            {
                //if (Process.ProcessState != EnumHelper.DeviceState.DSOpen)
                if (isStart)
                {
                    await ProcessOperation(true);
@@ -172,10 +179,8 @@
            }
            finally
            {
                //this.BeginInvoke(new Action(() => btnStart.Enabled = true));
                btnStart.Enabled = true;
            }
            //});
        }
        string _currentProcssCode = "";
@@ -193,7 +198,7 @@
                    return;
                }
                //Process.OnProcessStateChanged += Process_OnProcessStateChanged;
                Process.OnLog -= Process_OnLog;
                Process.OnLog += Process_OnLog;
                _currentProcssCode = _processCode;
@@ -210,80 +215,27 @@
            LogAsync(dt, prefix, msg);
        }
        //private void Process_OnProcessStateChanged(EnumHelper.DeviceState state)
        //{
        //    try
        //    {
        //        if (InvokeRequired)
        //        {
        //            this.Invoke(new Action<EnumHelper.DeviceState>(Process_OnProcessStateChanged), state);
        //        }
        //        else
        //        {
        //            try
        //            {
        //                btnStart.Enabled = true;
        //                switch (state)
        //                {
        //                    case EnumHelper.DeviceState.DSOpen:
        //                        btnStart.Text = "  停  止";
        //                        btnStart.ImageIndex = 1;
        //                        btnStart.BackColor = Color.FromArgb(0x7f, Color.LimeGreen);
        //                        btnLoad.Enabled = false;
        //                        break;
        //                    case EnumHelper.DeviceState.DSClose:
        //                        btnStart.Text = "  启  动";
        //                        btnStart.ImageIndex = 0;
        //                        btnStart.BackColor = SystemColors.Control;
        //                        btnLoad.Enabled = true;
        //                        break;
        //                    default:
        //                        break;
        //                }
        //                this.Refresh();
        //            }
        //            catch (Exception ex)
        //            {
        //            }
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //    }
        //}
        private async Task ProcessOperation(bool isStart)
        {
            if (isStart)
            {
                await Task.Run(() => Process.Open());
                //this.BeginInvoke(new Action(() =>
                //{
                btnStart.Text = "  停  止";
                btnStart.ImageIndex = 1;
                btnStart.BackColor = Color.FromArgb(0x7f, Color.LimeGreen);
                btnLoad.Enabled = false;
                //}));
            }
            else
            {
                await Task.Run(() => Process.Close());
                //this.BeginInvoke(new Action(() =>
                //{
                btnStart.Text = "  启  动";
                btnStart.ImageIndex = 0;
                btnStart.BackColor = SystemColors.Control;
                btnLoad.Enabled = true;
                //}));
            }
        }
    }