示例#1
0
        public static void UpdateAlignerConnection(string name, string status)
        {
            Form manual = Application.OpenForms["FormManual"];

            if (manual == null)
            {
                return;
            }

            TextBox tb = manual.Controls.Find(name + "Connection_tb", true).FirstOrDefault() as TextBox;

            if (tb == null)
            {
                return;
            }

            if (tb.InvokeRequired)
            {
                UpdateAlignerStatus_D ph = new UpdateAlignerStatus_D(UpdateAlignerConnection);
                tb.BeginInvoke(ph, name, status);
            }
            else
            {
                tb.Text = status;
            }
        }
示例#2
0
        public static void UpdateAlignerStatus(string name, string status)
        {
            Form manual = Application.OpenForms["FormManual"];

            if (manual == null)
            {
                return;
            }

            if (manual.InvokeRequired)
            {
                UpdateAlignerStatus_D ph = new UpdateAlignerStatus_D(UpdateAlignerStatus);
                manual.BeginInvoke(ph, name, status);
            }
            else
            {
                StateUtil.Init();
                AlignerState aligner = StateUtil.GetDeviceState(name) != null ? (AlignerState)StateUtil.GetDeviceState(name) : null;
                if (aligner == null)
                {
                    return;
                }
                //update robot status
                switch (name)
                {
                case "Aligner01":
                    Control tbA1Status = manual.Controls.Find("tbA1Status", true).FirstOrDefault() as Control;
                    tbA1Status.Text = status;
                    switch (status)
                    {
                    case "RUN":
                        tbA1Status.BackColor = Color.Lime;
                        break;

                    case "IDLE":
                        tbA1Status.BackColor = Color.Yellow;
                        break;
                    }
                    break;

                case "Aligner02":
                    Control tbA2Status = manual.Controls.Find("tbA2Status", true).FirstOrDefault() as Control;
                    tbA2Status.Text = status;
                    switch (status)
                    {
                    case "RUN":
                        tbA2Status.BackColor = Color.Lime;
                        break;

                    case "IDLE":
                        tbA2Status.BackColor = Color.Yellow;
                        break;
                    }
                    break;
                }
            }
        }
示例#3
0
        public static void UpdateAlignerConnection(string name, string status)
        {
            Form manual = Application.OpenForms["FormManual"];

            if (manual == null)
            {
                return;
            }

            TextBox tb = manual.Controls.Find(name + "Connection_tb", true).FirstOrDefault() as TextBox;

            if (tb == null)
            {
                return;
            }

            if (tb.InvokeRequired)
            {
                UpdateAlignerStatus_D ph = new UpdateAlignerStatus_D(UpdateAlignerConnection);
                tb.BeginInvoke(ph, name, status);
            }
            else
            {
                tb.Text = status;
                Button connectBtn = manual.Controls.Find(name + "Connect_btn", true).FirstOrDefault() as Button;
                switch (status)
                {
                case "Connected":
                case "Connecting":
                    connectBtn.Enabled = false;
                    break;

                default:
                    connectBtn.Enabled = true;
                    break;
                }
            }
        }