领胜LDS 键盘AOI检测项目
xcd
2020-07-13 6c985ca1423b805e83824d98353ab5132f047902
src/Bro.M071.Process/UI/M071_ShortcutFrm.cs
@@ -6,6 +6,7 @@
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
@@ -17,6 +18,109 @@
        public M071_ShortcutFrm()
        {
            InitializeComponent();
            this.Load += (s, e) =>
              {
                  loadHandle.Set();
              };
        }
        ManualResetEventSlim loadHandle = new ManualResetEventSlim(false);
        M071Config Config => Process?.IConfig as M071Config;
        M071Process Process_M071 => Process as M071Process;
        protected override bool IsLogin
        {
            get => base.IsLogin;
            set
            {
                base.IsLogin = value;
                Task.Run(() =>
                {
                    if (loadHandle.Wait(1000))
                    {
                        this.Invoke(new Action(() =>
                        {
                            chkEnableMESUpload.Enabled = chkBlockSafetyBeam.Enabled = chkBlockSaftyDoor.Enabled = IsLogin;
                        }));
                    }
                });
            }
        }
        public override void OnProcessUpdated()
        {
            base.OnProcessUpdated();
            //Task.Run(() =>
            //{
            //    if (loadHandle.Wait(1000))
            //    {
            //        this.Invoke(new Action(() =>
            //        {
            //            chkBlockBeep.Checked = Config.IsBeepBlocked;
            //            chkBlockSafetyBeam.Checked = Config.IsSafetyBeamBlocked;
            //            chkBlockSaftyDoor.Checked = Config.IsSafetyDoorBlocked;
            //            chkManualInputForbidden.Checked = Config.IsBarcodeManualInputBlocked;
            //            chkEnableMESUpload.Checked = Config.IsEnableMESUpload;
            //        }));
            //    }
            //});
            this.Invoke(new Action(() =>
            {
                chkBlockBeep.Checked = Config.IsBeepBlocked;
                chkBlockSafetyBeam.Checked = Config.IsSafetyBeamBlocked;
                chkBlockSaftyDoor.Checked = Config.IsSafetyDoorBlocked;
                chkManualInputForbidden.Checked = Config.IsBarcodeManualInputBlocked;
                chkEnableMESUpload.Checked = Config.IsEnableMESUpload;
            }));
            Config.PropertyChanged -= Config_PropertyChanged;
            Config.PropertyChanged += Config_PropertyChanged;
        }
        private async void Config_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            chkBlockBeep.Checked = Config.IsBeepBlocked;
            chkBlockSafetyBeam.Checked = Config.IsSafetyBeamBlocked;
            chkBlockSaftyDoor.Checked = Config.IsSafetyDoorBlocked;
            chkManualInputForbidden.Checked = Config.IsBarcodeManualInputBlocked;
            chkEnableMESUpload.Checked = Config.IsEnableMESUpload;
            await Task.Delay(100);
        }
        private void chkBlockSaftyDoor_CheckedChanged(object sender, EventArgs e)
        {
            Config.IsSafetyDoorBlocked = chkBlockSaftyDoor.Checked;
        }
        private void chkBlockSafetyBeam_CheckedChanged(object sender, EventArgs e)
        {
            Config.IsSafetyBeamBlocked = chkBlockSafetyBeam.Checked;
        }
        private void chkBlockBeep_CheckedChanged(object sender, EventArgs e)
        {
            Config.IsBeepBlocked = chkBlockBeep.Checked;
        }
        private void chkManualInputForbidden_CheckedChanged(object sender, EventArgs e)
        {
            Config.IsBarcodeManualInputBlocked = chkManualInputForbidden.Checked;
        }
        bool isLightOn = false;
        private void btnLightSwitch_Click(object sender, EventArgs e)
        {
            isLightOn = !isLightOn;
            Process_M071.SwitchLight(isLightOn);
        }
        private void chkEnableMESUpload_CheckedChanged(object sender, EventArgs e)
        {
            Config.IsEnableMESUpload = chkEnableMESUpload.Checked;
        }
    }
}