领胜LDS 键盘AOI检测项目
xcd
2020-07-08 9b5a866d16ca2b7a68d3af5bac8ea29c4626902f
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,81 @@
        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(() =>
                        {
                            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.IsBarcodeManulInputBlocked;
                    }));
                }
            });
        }
        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.IsBarcodeManulInputBlocked = chkManualInputForbidden.Checked;
        }
        bool isLightOn = false;
        private void btnLightSwitch_Click(object sender, EventArgs e)
        {
            isLightOn = !isLightOn;
            Process_M071.SwitchLight(isLightOn);
        }
    }
}