Beispiel #1
0
        /// <summary>
        /// 初始化控制样式
        /// </summary>
        private void DefaultControlStyle()
        {
            WcLimitSetup_H = new WcLimitSetup(CLDC_Comm.Enum.Cus_PowerYuanJian.H, WcLimit);
            WcLimitSetup_A = new WcLimitSetup(CLDC_Comm.Enum.Cus_PowerYuanJian.A, WcLimit);
            WcLimitSetup_B = new WcLimitSetup(CLDC_Comm.Enum.Cus_PowerYuanJian.B, WcLimit);
            WcLimitSetup_C = new WcLimitSetup(CLDC_Comm.Enum.Cus_PowerYuanJian.C, WcLimit);
            //WcLimitSetup_H.PointCountChange += new WcLimitSetup.EventPointCountChange(WcLimitSetup_H_PointCountChange);
            //WcLimitSetup_A.PointCountChange += new WcLimitSetup.EventPointCountChange(WcLimitSetup_A_PointCountChange);
            //WcLimitSetup_B.PointCountChange += new WcLimitSetup.EventPointCountChange(WcLimitSetup_B_PointCountChange);
            //WcLimitSetup_C.PointCountChange += new WcLimitSetup.EventPointCountChange(WcLimitSetup_C_PointCountChange);
            this.Tab_H.Controls.Add(this.WcLimitSetup_H);
            this.Tab_A.Controls.Add(this.WcLimitSetup_A);
            this.Tab_B.Controls.Add(this.WcLimitSetup_B);
            this.Tab_C.Controls.Add(this.WcLimitSetup_C);
            WcLimitSetup_H.Margin = new System.Windows.Forms.Padding(0);
            WcLimitSetup_H.Dock   = DockStyle.Fill;
            WcLimitSetup_A.Margin = new System.Windows.Forms.Padding(0);
            WcLimitSetup_A.Dock   = DockStyle.Fill;
            WcLimitSetup_B.Margin = new System.Windows.Forms.Padding(0);
            WcLimitSetup_B.Dock   = DockStyle.Fill;
            WcLimitSetup_C.Margin = new System.Windows.Forms.Padding(0);
            WcLimitSetup_C.Dock   = DockStyle.Fill;

            if (_TaiType == 1)
            {
                this.Tab_A.Parent = null;
                this.Tab_B.Parent = null;
                this.Tab_C.Parent = null;
            }
            else
            {
                this.Tab_A.Parent = this.Tab_FA;
                this.Tab_B.Parent = this.Tab_FA;
                this.Tab_C.Parent = this.Tab_FA;
            }

            Cmb_FastSetup.Items.Clear();
            for (int i = 0; i < 6; i++)
            {
                Cmb_FastSetup.Items.Add(((Enum_FaseSetup)i).ToString());
            }
            Cmb_FastSetup.SelectedIndex = (int)Enum_FaseSetup.全部设置统一比例;
        }
Beispiel #2
0
        private void Cmd_Setup_Click(object sender, EventArgs e)
        {
            MessageBoxEx.UseSystemLocalizedString = true;
            if (Cmb_FastSetup.SelectedIndex < 0)
            {
                return;
            }

            if (Txt_WcLimit.Text == "")
            {
                return;
            }

            if (Cmb_FastSetup.SelectedIndex < 3)                //小于3才是统一设置
            {
                string[] _TmpValue = Txt_WcLimit.Text.Split('|');
                if (_TmpValue.Length != 2)
                {
                    MessageBoxEx.Show(this, "修改的误差限格式不正确,正确的格式为[误差上限|误差下限],例:+0.1|-0.1");
                    Txt_WcLimit.Focus();
                    Txt_WcLimit.Select(0, Txt_WcLimit.Text.Length);
                    return;
                }
                if (!CLDC_DataCore.Function.Number.IsNumeric(_TmpValue[0].Replace("+", "")) ||
                    !CLDC_DataCore.Function.Number.IsNumeric(_TmpValue[1].Replace("+", "")))
                {
                    MessageBoxEx.Show(this, "修改的误差限格式不正确,正确的格式为[误差上限|误差下限],例:+0.1|-0.1");
                    Txt_WcLimit.Focus();
                    Txt_WcLimit.Select(0, Txt_WcLimit.Text.Length);
                    return;
                }
            }
            else//大于等于3是统一比例设置
            {
                if (Txt_WcLimit.Text.Substring(Txt_WcLimit.Text.Length - 1) != "%" ||
                    !CLDC_DataCore.Function.Number.IsNumeric(Txt_WcLimit.Text.Replace("%", "")))
                {
                    MessageBoxEx.Show(this, "请输入正确的比例,比例格式为\"数字%\"例:70%");
                    Txt_WcLimit.Focus();
                    Txt_WcLimit.Select(0, Txt_WcLimit.Text.Length);
                    return;
                }
            }
            CLDC_DataCore.Function.TopWaiting.ShowWaiting();
            WcLimitSetup _LimitControl = ((WcLimitSetup)Tab_FA.SelectedTab.Controls[0]);

            switch ((Enum_FaseSetup)Cmb_FastSetup.SelectedIndex)
            {
            case Enum_FaseSetup.全部设置相同:
                for (int i = 0; i < _LimitControl.ColumnsCount; i++)
                {
                    for (int j = 0; j < _LimitControl.RowsCount; j++)
                    {
                        _LimitControl.SetCellValue(j, i, Txt_WcLimit.Text);
                    }
                }
                break;

            case Enum_FaseSetup.相同功率因素设置相同:
                for (int i = 0; i < _LimitControl.RowsCount; i++)
                {
                    _LimitControl.SetCellValue(i, Cmb_Item.SelectedIndex, Txt_WcLimit.Text);
                }
                break;

            case Enum_FaseSetup.相同电流倍数设置相同:
                for (int i = 0; i < _LimitControl.ColumnsCount; i++)
                {
                    _LimitControl.SetCellValue(Cmb_Item.SelectedIndex, i, Txt_WcLimit.Text);
                }
                break;

            case Enum_FaseSetup.全部设置统一比例:
            {
                float _BlValue = float.Parse(Txt_WcLimit.Text.Replace("%", "")) / 100F;
                for (int i = 0; i < _LimitControl.ColumnsCount; i++)
                {
                    for (int j = 0; j < _LimitControl.RowsCount; j++)
                    {
                        string[] _TmpValue = _LimitControl.getCellValue(j, i).Split('|');

                        if (_TmpValue.Length != 2)
                        {
                            return;
                        }

                        _TmpValue[0] = (float.Parse(_TmpValue[0].Replace("+", "")) * _BlValue).ToString();
                        _TmpValue[1] = (float.Parse(_TmpValue[1].Replace("+", "")) * _BlValue).ToString();
                        if (float.Parse(_TmpValue[0]) > 0)
                        {
                            _TmpValue[0] = "+" + _TmpValue[0];
                        }
                        if (float.Parse(_TmpValue[1]) > 0)
                        {
                            _TmpValue[1] = "+" + _TmpValue[1];
                        }
                        _LimitControl.SetCellValue(j, i, string.Join("|", _TmpValue));
                    }
                }
                break;
            }

            case Enum_FaseSetup.相同功率因素统一比例:
            {
                float _BlValue = float.Parse(Txt_WcLimit.Text.Replace("%", "")) / 100F;
                for (int i = 0; i < _LimitControl.RowsCount; i++)
                {
                    string[] _TmpValue = _LimitControl.getCellValue(i, Cmb_Item.SelectedIndex).Split('|');

                    if (_TmpValue.Length != 2)
                    {
                        return;
                    }

                    _TmpValue[0] = (float.Parse(_TmpValue[0].Replace("+", "")) * _BlValue).ToString();
                    _TmpValue[1] = (float.Parse(_TmpValue[1].Replace("+", "")) * _BlValue).ToString();
                    if (float.Parse(_TmpValue[0]) > 0)
                    {
                        _TmpValue[0] = "+" + _TmpValue[0];
                    }
                    if (float.Parse(_TmpValue[1]) > 0)
                    {
                        _TmpValue[1] = "+" + _TmpValue[1];
                    }

                    _LimitControl.SetCellValue(i, Cmb_Item.SelectedIndex, string.Join("|", _TmpValue));
                }
                break;
            }

            case Enum_FaseSetup.相同电流倍数统一比例:
            {
                float _BlValue = float.Parse(Txt_WcLimit.Text.Replace("%", "")) / 100F;
                for (int i = 0; i < _LimitControl.ColumnsCount; i++)
                {
                    string[] _TmpValue = _LimitControl.getCellValue(Cmb_Item.SelectedIndex, i).Split('|');

                    if (_TmpValue.Length != 2)
                    {
                        return;
                    }

                    _TmpValue[0] = (float.Parse(_TmpValue[0].Replace("+", "")) * _BlValue).ToString();
                    _TmpValue[1] = (float.Parse(_TmpValue[1].Replace("+", "")) * _BlValue).ToString();
                    if (float.Parse(_TmpValue[0]) > 0)
                    {
                        _TmpValue[0] = "+" + _TmpValue[0];
                    }
                    if (float.Parse(_TmpValue[1]) > 0)
                    {
                        _TmpValue[1] = "+" + _TmpValue[1];
                    }

                    _LimitControl.SetCellValue(Cmb_Item.SelectedIndex, i, string.Join("|", _TmpValue));
                }
                break;
            }
            }

            CLDC_DataCore.Function.TopWaiting.HideWaiting();
        }