领胜LDS 键盘AOI检测项目
wells.liu
2020-07-10 562fe6d0615eecf92a7e5c5edf9d316f8295b199
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
using Bro.UI.Model.Winform;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Bro.M071.Process.UI
{
    [MenuNode("M071_ShortcutFrm", "快捷操作", 2, "M071Node", true)]
    public partial class M071_ShortcutFrm : MenuFrmBase
    {
        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;
        }
    }
}