领胜LDS 键盘AOI检测项目
xcd
2020-07-16 3ae459e2e79e567dfd4a552a3b5b8c1fce495167
src/Bro.UI.Config/MenuForms/FrmOperation.cs
@@ -1,5 +1,6 @@
using Bro.Common.Factory;
using Bro.Common.Helper;
using Bro.Common.PubSub;
using Bro.UI.Model.Winform;
using System;
using System.Collections.Generic;
@@ -9,6 +10,7 @@
using System.Threading.Tasks;
using System.Windows.Forms;
using WeifenLuo.WinFormsUI.Docking;
using static Bro.Common.Helper.EnumHelper;
namespace Bro.UI.Config.MenuForms
{
@@ -20,25 +22,38 @@
        public FrmOperation()
        {
            InitializeComponent();
            PubSubCenter.GetInstance().RemoveSubscribers(PubSubCenterMessageType.UpdateProductionCodes.ToString());
            PubSubCenter.GetInstance().Subscribe(PubSubCenterMessageType.UpdateProductionCodes.ToString(), OnUpdateProductionCodes);
            LoadProcessCode();
            LoadProductionCode();
            Task.Run(() =>
            {
                Thread.Sleep(1000);
            //Task.Run(() =>
            //{
            //    Thread.Sleep(1000);
                if ((!plProcess.Visible) && (!plProduct.Visible) && _isFirstLoad)
                {
                    LoadProcess();
                    _isFirstLoad = false;
                }
            });
            //    if ((!plProcess.Visible) && (!plProduct.Visible) && _isFirstLoad)
            //    {
            //        LoadProcess();
            //        _isFirstLoad = false;
            //    }
            //});
            //if ((!plProcess.Visible) && (!plProduct.Visible) && _isFirstLoad)
            //{
            //    LoadProcess();
            //    _isFirstLoad = false;
            //}
        }
        #region Load Codes
        string _processCode = "";
        string _productionCode = "";
        private object OnUpdateProductionCodes(ISubscriber arg1, object arg2, object arg3)
        {
            LoadProductionCode();
            return null;
        }
        private void LoadProcessCode()
        {
@@ -118,6 +133,12 @@
        private void FrmOperation_Load(object sender, System.EventArgs e)
        {
            //if ((!plProcess.Visible) && (!plProduct.Visible) && _isFirstLoad)
            //{
            //    LoadProcess();
            //    _isFirstLoad = false;
            //}
            btnStart.Enabled = true;
        }
@@ -130,7 +151,7 @@
        }
        bool isStart = true;
        private void btnStart_Click(object sender, System.EventArgs e)
        private async void btnStart_Click(object sender, System.EventArgs e)
        {
            if (Process == null)
            {
@@ -147,11 +168,11 @@
                //if (Process.ProcessState != EnumHelper.DeviceState.DSOpen)
                if (isStart)
                {
                    ProcessOperation(true);
                    await ProcessOperation(true);
                }
                else
                {
                    ProcessOperation(false);
                    await ProcessOperation(false);
                }
                isStart = !isStart;
@@ -162,7 +183,8 @@
            }
            finally
            {
                this.BeginInvoke(new Action(() => btnStart.Enabled = true));
                //this.BeginInvoke(new Action(() => btnStart.Enabled = true));
                btnStart.Enabled = true;
            }
            //});
        }
@@ -183,6 +205,7 @@
                }
                //Process.OnProcessStateChanged += Process_OnProcessStateChanged;
                Process.OnLog -= Process_OnLog;
                Process.OnLog += Process_OnLog;
                _currentProcssCode = _processCode;
@@ -245,11 +268,11 @@
        //    }
        //}
        private void ProcessOperation(bool isStart)
        private async Task ProcessOperation(bool isStart)
        {
            if (isStart)
            {
                Process.Open();
                await Task.Run(() => Process.Open());
                //this.BeginInvoke(new Action(() =>
                //{
@@ -263,7 +286,7 @@
            }
            else
            {
                Process.Close();
                await Task.Run(() => Process.Close());
                //this.BeginInvoke(new Action(() =>
                //{