yangyin
2024-12-25 df88a15b84a7eee09c870dab8c0f5facd6c18c6e
WinFrmUI/DPumpHydr.WinFrmUI.Volute/³öË®Éè¼Æ/²ÎÊý¿Ø¼þ/sideLineExitControl.cs
@@ -1,4 +1,5 @@
using DPumpHydr.WinFrmUI.RLT.Controls;
using DPumpHydr.WinFrmUI.Volute.ViewModel;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@@ -18,41 +19,106 @@
            InitializeComponent();
            BuildAllTips();
            BuildIcon();
            Initialization();
        }
        ViewModel.OtuflowParas _otuflowParas = null;
        public void SetBindingData(ViewModel.OtuflowParas otuflowParas)
        {
            if (otuflowParas == null)
            {
                return;
            }
            _otuflowParas = otuflowParas;
            //mlTextBoxEditR1.Text = otuflowParas.Offset.ToString();
            //mlTextBoxEditR2.Text = otuflowParas.Offset.ToString();
            mlTextBoxEdith1.Text = otuflowParas.H1.ToString();
            mlTextBoxEdith2.Text = otuflowParas.H2.ToString();
            mlTextBoxEditL.Text = otuflowParas.High.ToString();
            mlTextBoxEditr.Text = otuflowParas.Septalradius.ToString();
            mlTextBoxEditD4.Text = otuflowParas.Dia.ToString();
            mlTextBoxEditA.Text = otuflowParas.Offset.ToString();
            metroTrackBar左上切线缩放量.Value = Convert.ToInt32(otuflowParas.TopValue_left * 100);
            metroTrackBar左下切线缩放量.Value = Convert.ToInt32(otuflowParas.BtmValue_left * 100);
            metroTrackBar右上切线缩放量.Value = Convert.ToInt32(otuflowParas.TopValue_reight * 100);
            metroTrackBar右下切线缩放量.Value = Convert.ToInt32(otuflowParas.BtmValue_reight * 100);
        }
        public ViewModel.OtuflowParas GetBindingData(out string error)
        {
            error = "";
            if (!Verify(out error))
            {
                return null;
            }
            _otuflowParas.H1 = Convert.ToDouble(mlTextBoxEdith1.Text);
            _otuflowParas.H2 = Convert.ToDouble(mlTextBoxEdith2.Text);
            _otuflowParas.High = Convert.ToDouble(mlTextBoxEditL.Text);
            _otuflowParas.Septalradius = Convert.ToDouble(mlTextBoxEditr.Text);
            _otuflowParas.Dia = Convert.ToDouble(mlTextBoxEditD4.Text);
            _otuflowParas.Offset = Convert.ToDouble(mlTextBoxEditA.Text);
            _otuflowParas.TopValue_left = Convert.ToDouble(metroTrackBar左上切线缩放量.Value) / 100;
            _otuflowParas.BtmValue_left = Convert.ToDouble(metroTrackBar左下切线缩放量.Value) / 100;
            _otuflowParas.TopValue_reight = Convert.ToDouble(metroTrackBar右上切线缩放量.Value) / 100;
            _otuflowParas.BtmValue_reight = Convert.ToDouble(metroTrackBar右下切线缩放量.Value) / 100;
            return _otuflowParas;
        }
        public void SetA_state(bool isEnabled)
        {
            if (!isEnabled)
            {
                mlTextBoxEditA.Text = 0.ToString();
                mlTextBoxEditA.Enabled = false;
            }
            else
            {
                mlTextBoxEditA.Enabled = true;
            }
        }
        private void Initialization()
        {
            crownLabel左上最小缩放量.Text = (Convert.ToDouble(metroTrackBar左上切线缩放量.Minimum) / 100).ToString();
            crownLabel左上最大缩放量.Text = (Convert.ToDouble(metroTrackBar左上切线缩放量.Maximum) / 100).ToString();
            crownLabel左下最小缩放量.Text = (Convert.ToDouble(metroTrackBar左下切线缩放量.Minimum) / 100).ToString();
            crownLabel左下最大缩放量.Text = (Convert.ToDouble(metroTrackBar左下切线缩放量.Maximum) / 100).ToString();
            crownLabel右上最小缩放量.Text = (Convert.ToDouble(metroTrackBar右上切线缩放量.Minimum) / 100).ToString();
            crownLabel右上最大缩放量.Text = (Convert.ToDouble(metroTrackBar右上切线缩放量.Maximum) / 100).ToString();
            crownLabel右下最小缩放量.Text = (Convert.ToDouble(metroTrackBar右下切线缩放量.Minimum) / 100).ToString();
            crownLabel右下最大缩放量.Text = (Convert.ToDouble(metroTrackBar右下切线缩放量.Maximum) / 100).ToString();
        }
        private void BuildIcon()
        {
            //输入框前缀图片
            mlTextBoxEditR1.LeadingIcon = GlobalResource.GetLeadingIcon();
            mlTextBoxEditR2.LeadingIcon = GlobalResource.GetLeadingIcon();
            //mlTextBoxEditR1.LeadingIcon = GlobalResource.GetLeadingIcon();
            //mlTextBoxEditR2.LeadingIcon = GlobalResource.GetLeadingIcon();
            mlTextBoxEdith1.LeadingIcon = GlobalResource.GetLeadingIcon();
            mlTextBoxEditA.LeadingIcon = GlobalResource.GetLeadingIcon();
            mlTextBoxEditL.LeadingIcon = GlobalResource.GetLeadingIcon();
            mlTextBoxEditr.LeadingIcon = GlobalResource.GetLeadingIcon();
            mlTextBoxEdit扩散管出口直径.LeadingIcon = GlobalResource.GetLeadingIcon();
            mlTextBoxEditD4.LeadingIcon = GlobalResource.GetLeadingIcon();
        }
        public bool Verify(out string error)
        {
            error = "";
            bool isOk = true;
            if (string.IsNullOrEmpty(mlTextBoxEditR1.Text) || mlTextBoxEditR1.Text == "请输入" || double.Parse(mlTextBoxEditR1.Text) == 0)
            //if (string.IsNullOrEmpty(mlTextBoxEditR1.Text) || mlTextBoxEditR1.Text == "请输入" || double.Parse(mlTextBoxEditR1.Text) == 0)
            //{
            //    error = "请输入R1!";
            //    isOk = false;
            //    mlTextBoxEditR1.TrailingIcon = GlobalResource.GetTipTrailingIcon();
            //    skyLabelR1.Visible = true;
            //}
            //if (string.IsNullOrEmpty(mlTextBoxEditR2.Text) || mlTextBoxEditR2.Text == "请输入" || double.Parse(mlTextBoxEditR2.Text) == 0)
            //{
            //    error = "请输入R2!";
            //    isOk = false;
            //    mlTextBoxEditR2.TrailingIcon = GlobalResource.GetTipTrailingIcon();
            //    skyLabelR2.Visible = true;
            //}
            if (string.IsNullOrEmpty(mlTextBoxEditD4.Text) || mlTextBoxEditD4.Text == "请输入" || double.Parse(mlTextBoxEditD4.Text) == 0)
            {
                error = "请输入R1!";
                error = "请输入D4!";
                isOk = false;
                mlTextBoxEditR1.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                skyLabelR1.Visible = true;
            }
            if (string.IsNullOrEmpty(mlTextBoxEditR2.Text) || mlTextBoxEditR2.Text == "请输入" || double.Parse(mlTextBoxEditR2.Text) == 0)
            {
                error = "请输入R2!";
                isOk = false;
                mlTextBoxEditR2.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                skyLabelR2.Visible = true;
            }
            if (string.IsNullOrEmpty(mlTextBoxEdit扩散管出口直径.Text) || mlTextBoxEdit扩散管出口直径.Text == "请输入扩散管出口直径" || double.Parse(mlTextBoxEdit扩散管出口直径.Text) == 0)
            {
                error = "请输入扩散管出口直径!";
                isOk = false;
                mlTextBoxEdit扩散管出口直径.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                mlTextBoxEditD4.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                skyLabel扩散管出口直径.Visible = true;
            }
            if (string.IsNullOrEmpty(mlTextBoxEdith1.Text) || mlTextBoxEdith1.Text == "请输入" || double.Parse(mlTextBoxEdith1.Text) == 0)
@@ -62,9 +128,9 @@
                mlTextBoxEdith1.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                skyLabelh1.Visible = true;
            }
            if (string.IsNullOrEmpty(mlTextBoxEditA.Text) || mlTextBoxEditA.Text == "请输入" || double.Parse(mlTextBoxEditA.Text) == 0)
            if (string.IsNullOrEmpty(mlTextBoxEditA.Text) || mlTextBoxEditA.Text == "请输入" )
            {
                error = "请输入h2!";
                error = "请输入A!";
                isOk = false;
                mlTextBoxEditA.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                skyLabelA.Visible = true;
@@ -87,87 +153,88 @@
        }
        private void BuildAllTips()
        {
            metroToolTip侧面出口直线.SetToolTip(this.mlTextBoxEditR1, "R1");
            metroToolTip侧面出口直线.SetToolTip(this.mlTextBoxEditR2, "R2");
            //metroToolTip侧面出口直线.SetToolTip(this.mlTextBoxEditR1, "R1");
            //metroToolTip侧面出口直线.SetToolTip(this.mlTextBoxEditR2, "R2");
            metroToolTip侧面出口直线.SetToolTip(this.mlTextBoxEdith1, "h1");
            metroToolTip侧面出口直线.SetToolTip(this.mlTextBoxEdith2, "h2");
            metroToolTip侧面出口直线.SetToolTip(this.mlTextBoxEditA, "A");
            metroToolTip侧面出口直线.SetToolTip(this.mlTextBoxEditL, "L");
            metroToolTip侧面出口直线.SetToolTip(this.mlTextBoxEditr, "r");
            metroToolTip侧面出口直线.SetToolTip(this.mlTextBoxEdit扩散管出口直径, "扩散管出口直径");
            metroToolTip侧面出口直线.SetToolTip(this.mlTextBoxEditD4, "扩散管出口直径");
        }
        private void mlTextBoxEditR1_Enter(object sender, EventArgs e)
        {
            skyLabelR1.Visible = false;
            mlTextBoxEditR1.TrailingIcon = null;
            if (mlTextBoxEditR1.Text == "请输入")
            {
                mlTextBoxEditR1.Text = "";
            }
        }
        //private void mlTextBoxEditR1_Enter(object sender, EventArgs e)
        //{
        //    skyLabelR1.Visible = false;
        //    mlTextBoxEditR1.TrailingIcon = null;
        //    if (mlTextBoxEditR1.Text == "请输入")
        //    {
        //        mlTextBoxEditR1.Text = "";
        //    }
        //}
        private void mlTextBoxEditR1_Leave(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(mlTextBoxEditR1.Text) || double.Parse(mlTextBoxEditR1.Text) == 0)
            {
                mlTextBoxEditR1.Text = "请输入";
            }
        }
        //private void mlTextBoxEditR1_Leave(object sender, EventArgs e)
        //{
        //    if (string.IsNullOrEmpty(mlTextBoxEditR1.Text) || double.Parse(mlTextBoxEditR1.Text) == 0)
        //    {
        //        mlTextBoxEditR1.Text = "请输入";
        //    }
        //}
        private void mlTextBoxEditR1_TextChanged(object sender, EventArgs e)
        {
            foreach (var s in mlTextBoxEditR1.Text)
            {
                if (!double.TryParse(mlTextBoxEditR1.Text, out double result) && !string.IsNullOrEmpty(mlTextBoxEditR1.Text) && mlTextBoxEditR1.Text != "请输入")
                {
                    mlTextBoxEditR1.UseAccent = true;
                    mlTextBoxEditR1.ShowAssistiveText = true;
                    mlTextBoxEditR1.Text = "";
                    break;
                }
                else
                {
                    mlTextBoxEditR1.ShowAssistiveText = false;
                    mlTextBoxEditR1.UseAccent = false;
                }
            }
        }
        //private void mlTextBoxEditR1_TextChanged(object sender, EventArgs e)
        //{
        //    foreach (var s in mlTextBoxEditR1.Text)
        //    {
        //        if (!double.TryParse(mlTextBoxEditR1.Text, out double result) && !string.IsNullOrEmpty(mlTextBoxEditR1.Text) && mlTextBoxEditR1.Text != "请输入")
        //        {
        //            mlTextBoxEditR1.UseAccent = true;
        //            mlTextBoxEditR1.ShowAssistiveText = true;
        //            mlTextBoxEditR1.Text = "";
        //            break;
        //        }
        //        else
        //        {
        //            mlTextBoxEditR1.ShowAssistiveText = false;
        //            mlTextBoxEditR1.UseAccent = false;
        //        }
        //    }
        //}
        private void mlTextBoxEditR2_Enter(object sender, EventArgs e)
        {
            skyLabelR2.Visible = false;
            mlTextBoxEditR2.TrailingIcon = null;
            if (mlTextBoxEditR2.Text == "请输入")
            {
                mlTextBoxEditR2.Text = "";
            }
        }
        //private void mlTextBoxEditR2_Enter(object sender, EventArgs e)
        //{
        //    skyLabelR2.Visible = false;
        //    mlTextBoxEditR2.TrailingIcon = null;
        //    if (mlTextBoxEditR2.Text == "请输入")
        //    {
        //        mlTextBoxEditR2.Text = "";
        //    }
        //}
        private void mlTextBoxEditR2_Leave(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(mlTextBoxEditR2.Text) || double.Parse(mlTextBoxEditR2.Text) == 0)
            {
                mlTextBoxEditR2.Text = "请输入";
            }
        }
        //private void mlTextBoxEditR2_Leave(object sender, EventArgs e)
        //{
        //    if (string.IsNullOrEmpty(mlTextBoxEditR2.Text) || double.Parse(mlTextBoxEditR2.Text) == 0)
        //    {
        //        mlTextBoxEditR2.Text = "请输入";
        //    }
        //}
        private void mlTextBoxEditR2_TextChanged(object sender, EventArgs e)
        {
            foreach (var s in mlTextBoxEditR2.Text)
            {
                if (!double.TryParse(mlTextBoxEditR2.Text, out double result) && !string.IsNullOrEmpty(mlTextBoxEditR2.Text) && mlTextBoxEditR2.Text != "请输入")
                {
                    mlTextBoxEditR2.UseAccent = true;
                    mlTextBoxEditR2.ShowAssistiveText = true;
                    mlTextBoxEditR2.Text = "";
                    break;
                }
                else
                {
                    mlTextBoxEditR2.ShowAssistiveText = false;
                    mlTextBoxEditR2.UseAccent = false;
                }
            }
        }
        //private void mlTextBoxEditR2_TextChanged(object sender, EventArgs e)
        //{
        //    foreach (var s in mlTextBoxEditR2.Text)
        //    {
        //        if (!double.TryParse(mlTextBoxEditR2.Text, out double result) && !string.IsNullOrEmpty(mlTextBoxEditR2.Text) && mlTextBoxEditR2.Text != "请输入")
        //        {
        //            mlTextBoxEditR2.UseAccent = true;
        //            mlTextBoxEditR2.ShowAssistiveText = true;
        //            mlTextBoxEditR2.Text = "";
        //            break;
        //        }
        //        else
        //        {
        //            mlTextBoxEditR2.ShowAssistiveText = false;
        //            mlTextBoxEditR2.UseAccent = false;
        //        }
        //    }
        //}
        private void mlTextBoxEdith1_Enter(object sender, EventArgs e)
        {
@@ -204,10 +271,12 @@
                    mlTextBoxEdith1.UseAccent = false;
                }
            }
            mlTextBoxEdith2.Text = mlTextBoxEdith1.Text;
        }
        private void mlTextBoxEditA_Enter(object sender, EventArgs e)
        {
            skyLabelA.Visible = false;
            mlTextBoxEditA.TrailingIcon = null;
            if (mlTextBoxEditA.Text == "请输入")
@@ -218,7 +287,7 @@
        private void mlTextBoxEditA_Leave(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(mlTextBoxEditA.Text) || double.Parse(mlTextBoxEditA.Text) == 0)
            if (string.IsNullOrEmpty(mlTextBoxEditA.Text) )
            {
                mlTextBoxEditA.Text = "请输入";
            }
@@ -320,38 +389,58 @@
        private void mlTextBoxEdit扩散管出口直径_Enter(object sender, EventArgs e)
        {
            skyLabel扩散管出口直径.Visible = false;
            mlTextBoxEdit扩散管出口直径.TrailingIcon = null;
            if (mlTextBoxEdit扩散管出口直径.Text == "请输入扩散管出口直径")
            mlTextBoxEditD4.TrailingIcon = null;
            if (mlTextBoxEditD4.Text == "请输入")
            {
                mlTextBoxEdit扩散管出口直径.Text = "";
                mlTextBoxEditD4.Text = "";
            }
        }
        private void mlTextBoxEdit扩散管出口直径_Leave(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(mlTextBoxEdit扩散管出口直径.Text) || double.Parse(mlTextBoxEdit扩散管出口直径.Text) == 0)
            if (string.IsNullOrEmpty(mlTextBoxEditD4.Text) || double.Parse(mlTextBoxEditD4.Text) == 0)
            {
                mlTextBoxEdit扩散管出口直径.Text = "请输入扩散管出口直径";
                mlTextBoxEditD4.Text = "请输入";
            }
        }
        private void mlTextBoxEdit扩散管出口直径_TextChanged(object sender, EventArgs e)
        {
            foreach (var s in mlTextBoxEdit扩散管出口直径.Text)
            foreach (var s in mlTextBoxEditD4.Text)
            {
                if (!double.TryParse(mlTextBoxEdit扩散管出口直径.Text, out double result) && !string.IsNullOrEmpty(mlTextBoxEdit扩散管出口直径.Text) && mlTextBoxEdit扩散管出口直径.Text != "请输入扩散管出口直径")
                if (!double.TryParse(mlTextBoxEditD4.Text, out double result) && !string.IsNullOrEmpty(mlTextBoxEditD4.Text) && mlTextBoxEditD4.Text != "请输入")
                {
                    mlTextBoxEdit扩散管出口直径.UseAccent = true;
                    mlTextBoxEdit扩散管出口直径.ShowAssistiveText = true;
                    mlTextBoxEdit扩散管出口直径.Text = "";
                    mlTextBoxEditD4.UseAccent = true;
                    mlTextBoxEditD4.ShowAssistiveText = true;
                    mlTextBoxEditD4.Text = "";
                    break;
                }
                else
                {
                    mlTextBoxEdit扩散管出口直径.ShowAssistiveText = false;
                    mlTextBoxEdit扩散管出口直径.UseAccent = false;
                    mlTextBoxEditD4.ShowAssistiveText = false;
                    mlTextBoxEditD4.UseAccent = false;
                }
            }
        }
        private void metroTrackBar左上切线缩放量_Scroll(object sender)
        {
            crownLabel左上切线缩放量.Text = (Convert.ToDouble(metroTrackBar左上切线缩放量.Value) / 100).ToString();
        }
        private void metroTrackBar左下切线缩放量_Scroll(object sender)
        {
            crownLabel左下切线缩放量.Text = (Convert.ToDouble(metroTrackBar左下切线缩放量.Value) / 100).ToString();
        }
        private void metroTrackBar右上切线缩放量_Scroll(object sender)
        {
            crownLabel右上切线缩放量.Text = (Convert.ToDouble(metroTrackBar右上切线缩放量.Value) / 100).ToString();
        }
        private void metroTrackBar右下切线缩放量_Scroll(object sender)
        {
            crownLabel右下切线缩放量.Text = (Convert.ToDouble(metroTrackBar右下切线缩放量.Value) / 100).ToString();
        }
    }
}