Exemplo n.º 1
0
        /*
         * private void FormGatePosition_Paint(object sender, PaintEventArgs e)
         * {
         *  e.Graphics.DrawLine(new Pen(SystemColors.GradientActiveCaption, 3), 1, 0, 1, this.Height);
         * }
         */

        private void checkBoxIF_Click(object sender, EventArgs e)
        {
            if ((int)gateNum == 0)
            {
                int            error_code = 0;
                TofMode        tofMode    = TofMode.Flank;
                List <TofMode> list       = new List <TofMode>();
                list.Clear();

                if (checkBoxIF.Checked)
                {
                    if (SetBatchDAQ.isOn)
                    {
                        error_code = SetBatchDAQ.getTOfMode(SelectAscan.sessionIndex, GateType.I, list);

                        for (int i = 0; i < list.Count; i++)
                        {
                            if (list[i] != TofMode.Flank)
                            {
                                MessageShow.show("Warning:The TOF Mode GateI must select Flank mode!", "警告:门模式门I未选择Flank模式!");
                                checkBoxIF.Checked = false;
                                return;
                            }
                        }
                        error_code |= SetBatchDAQ.GateIFActive(SelectAscan.sessionIndex, GateType.I, IFActive.ON);
                        error_code |= SetBatchDAQ.AscanVideoIFActive(SelectAscan.sessionIndex, GateType.I, AscanIFActive.ON);
                        if (error_code != 0)
                        {
                            return;
                        }
                    }
                    else
                    {
                        error_code = GetGateDAQ.TofMode(SelectAscan.sessionIndex, SelectAscan.port, GateType.I, ref tofMode);

                        if (tofMode != TofMode.Flank)
                        {
                            MessageShow.show("Warning:The TOF Mode GateI must select Flank mode!", "警告:门模式门I未选择Flank模式!");
                            checkBoxIF.Checked = false;
                            return;
                        }
                        error_code |= SetGateDAQ.iFActive(SelectAscan.sessionIndex, SelectAscan.port, GateType.I, IFActive.ON);
                        error_code |= SetAscanVideoDAQ.IFActive(SelectAscan.sessionIndex, SelectAscan.port, AscanIFActive.ON);
                        if (error_code != 0)
                        {
                            return;
                        }
                    }
                }
                else
                {
                    if (SetBatchDAQ.isOn)
                    {
                        error_code  = SetGateDAQ.iFActive(SelectAscan.sessionIndex, SelectAscan.port, GateType.I, IFActive.OFF);
                        error_code |= SetAscanVideoDAQ.IFActive(SelectAscan.sessionIndex, SelectAscan.port, AscanIFActive.OFF);
                    }
                    {
                        error_code  = SetGateDAQ.iFActive(SelectAscan.sessionIndex, SelectAscan.port, GateType.I, IFActive.OFF);
                        error_code |= SetAscanVideoDAQ.IFActive(SelectAscan.sessionIndex, SelectAscan.port, AscanIFActive.OFF);
                    }

                    if (error_code != 0)
                    {
                        return;
                    }

                    FormList.MDIChild.drawGateIWhenIfStartDisabled();
                }
            }

            if ((int)gateNum == 1)
            {
                MessageShow.show("Warning:The Gate must select GateI!", "警告:门模式未选择门I!");
                checkBoxIF.Checked = false;
                return;
            }

            if ((int)gateNum == 2)
            {
                MessageShow.show("Warning:The Gate must select GateI!", "警告:门模式未选择门I!");
                checkBoxIF.Checked = false;
                return;
            }

            if ((int)gateNum == 3)
            {
                MessageShow.show("Warning:The Gate must select GateI!", "警告:门模式未选择门I!");
                checkBoxIF.Checked = false;
                return;
            }
        }