chenn
2025-03-28 9dba1b6adc0bbb4aa8cc531f4e6d822bf1a56be3
WinFrmUI/DPumpHydr.WinFrmUI.Volute/»ù±¾²ÎÊý/ctrlHdrBaseInfo.cs
@@ -1,4 +1,5 @@
using System;
using DPumpHydr.WinFrmUI.RLT.Controls;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
@@ -6,317 +7,458 @@
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Net.Mime.MediaTypeNames;
using static System.Runtime.InteropServices.JavaScript.JSType;
using System.Windows.Forms;
namespace DPumpHydr.WinFrmUI.Volute
namespace DPumpHydr.WinFrmUI.Volute
{
    public partial class ctrlHdrBaseInfo : UserControl
    public partial class ctrlHdrBaseInfo : ParasInfoBaseCtrl
    {
        public ctrlHdrBaseInfo()
        {
            InitializeComponent();
            Tips();
            addimage();
            BuildAllTips();
            BuildIcon();
            labelNs.Text = "";
        }
        private string ResourcesPath = @"Data\MainForm\Icons";
        public void InitialParas()
        {
            ViewModel.GeomBaseInfo geomBaseInfo;
            ViewModel.HdrBaseInfo hdrBaseInfo;
            InitialHistoryParas(out hdrBaseInfo , out geomBaseInfo);
            SetBindingData(hdrBaseInfo);
            SetBindingData(geomBaseInfo);
        }
        public void  InitialHistoryParas(out ViewModel.HdrBaseInfo hdrBaseInfo, out ViewModel.GeomBaseInfo geomBaseInfo)
        {
            hdrBaseInfo = new ViewModel.HdrBaseInfo();
            hdrBaseInfo.Q = 250;
            hdrBaseInfo.H = 20;
            hdrBaseInfo.n = 1480;
            hdrBaseInfo.D2 = 270;
            hdrBaseInfo.B2 = 50;
            if (!string.IsNullOrEmpty(
                DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseQ))
            {
                hdrBaseInfo.Q = Convert.ToDouble(DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseQ);
            }
            if (!string.IsNullOrEmpty(
                DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseH))
            {
                hdrBaseInfo.H = Convert.ToDouble(DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseH);
            }
            if (!string.IsNullOrEmpty(
    DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseN))
            {
                hdrBaseInfo.n = Convert.ToDouble(DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseN);
            }
            if (!string.IsNullOrEmpty(
    DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseD2))
            {
                hdrBaseInfo.D2 = Convert.ToDouble(DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseD2);
            }
            if (!string.IsNullOrEmpty(
    DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseB2))
            {
                hdrBaseInfo.B2 = Convert.ToDouble(DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseB2);
            }
            geomBaseInfo = new ViewModel.GeomBaseInfo();
            geomBaseInfo.Initial(hdrBaseInfo);
            if (!string.IsNullOrEmpty(
DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseFAI0))
            {
                geomBaseInfo.FAI0 = Convert.ToDouble(DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseFAI0);
            }
            if (!string.IsNullOrEmpty(
DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseB3))
            {
                geomBaseInfo.B3 = Convert.ToDouble(DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseB3);
            }
            if (!string.IsNullOrEmpty(
DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseD3))
            {
                geomBaseInfo.D3  = Convert.ToDouble(DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseD3);
            }
            return  ;
        }
        public void SetBindingData(ViewModel.HdrBaseInfo vm)
        {
            if (vm == null)
            {
                return;
            }
            this.mTextBoxEdit总流量.Text = vm.Q.ToString();
            this.mTextBoxEdit扬程.Text = vm.H.ToString();
            this.mTextBoxEdit转速.Text = vm.n.ToString();
            this.mTextBoxEdit出口直径D2.Text = vm.D2.ToString();
            this.mTextBox出口宽度B2.Text = vm.B2.ToString();
            this.RBtn双吸泵.Checked = vm.IsSXB;
        }
        public void SetBindingData(ViewModel.GeomBaseInfo vm)
        {
            if (vm == null)
            {
                return;
            }
            //this.crownLabel比转速.Text = vm.ns.ToString();
            //this.mTextBoxEdit速度系数.Text = vm.K3.ToString();
            this.mTextBoxEdit基圆直径D3.Text = vm.D3.ToString();
            this.mTextBox基圆宽度B3.Text = vm.B3.ToString();
            this.mTextBoxEdit隔舌安放角.Text = vm.FAI0.ToString();
        }
        public void SaveHistoryParas(ViewModel.HdrBaseInfo hdrBaseInfo, ViewModel.GeomBaseInfo geomBaseInfo)
        {
            if (hdrBaseInfo == null) return;
            DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseQ =
                hdrBaseInfo.Q.ToString();
            DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseH =
                hdrBaseInfo.H.ToString();
            DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseN =
                hdrBaseInfo.n.ToString();
            DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseD2 =
                hdrBaseInfo.D2.ToString();
            DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseB2 =
                hdrBaseInfo.B2.ToString();
            if (geomBaseInfo != null)
            {
                DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseD3 =
    geomBaseInfo.D3.ToString();
                DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseB3 =
                    geomBaseInfo.B3.ToString();
                DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.HistoryHdrBaseFAI0 =
         geomBaseInfo.FAI0.ToString();
            }
            DPumpHydr.WinFrmUI.Volute.Properties.Settings.Default.Save();
        }
        public string GetBindingData(
            out ViewModel.HdrBaseInfo hdrParas,
            out ViewModel.GeomBaseInfo geomParas)
        {
            geomParas = null;
            hdrParas = null;
            string error;
            if (!Verify(out error))
            {
                return error;
            }
            error = null;
            hdrParas = new ViewModel.HdrBaseInfo();
            hdrParas.Q = Convert.ToDouble(this.mTextBoxEdit总流量.Text);
            hdrParas.H = Convert.ToDouble(this.mTextBoxEdit扬程.Text);
            hdrParas.n = Convert.ToDouble(this.mTextBoxEdit转速.Text);
            hdrParas.D2 = Convert.ToDouble(this.mTextBoxEdit出口直径D2.Text);
            hdrParas.B2 = Convert.ToDouble(this.mTextBox出口宽度B2.Text);
            hdrParas.IsSXB = this.RBtn双吸泵.Checked;
            geomParas = new ViewModel.GeomBaseInfo();
            //geomParas.K3 = Convert.ToDouble(this.mTextBoxEdit速度系数.Text);
            geomParas.D3 = Convert.ToDouble(this.mTextBoxEdit基圆直径D3.Text);
            geomParas.B3 = Convert.ToDouble(this.mTextBox基圆宽度B3.Text);
            geomParas.FAI0 = Convert.ToDouble(this.mTextBoxEdit隔舌安放角.Text);
            return null;
        }
        public bool Verify(out string error)
        {
            error = "";
            if (!RBtn旋转型.Checked && !RBtn双蜗壳型.Checked && !RBtn环型.Checked && !RBtn准旋转型.Checked)
            skyLabel总流量.Visible = false;
            mTextBoxEdit总流量.TrailingIcon = null;
            skyLabel转速.Visible = false;
            mTextBoxEdit转速.TrailingIcon = null;
            skyLabel扬程.Visible = false;
            mTextBoxEdit扬程.TrailingIcon = null;
            skyLabel出口直径.Visible = false;
            mTextBoxEdit出口直径D2.TrailingIcon = null;
            skyLabel出口宽度.Visible = false;
            mTextBox出口宽度B2.TrailingIcon = null;
            double v = 0;
            bool isOk = true;
            if (string.IsNullOrEmpty(mTextBoxEdit总流量.Text) || mTextBoxEdit总流量.Text == "请输入总流量" ||
                !double.TryParse(mTextBoxEdit总流量.Text, out v) ||
                double.Parse(mTextBoxEdit总流量.Text) <= 0)
            {
                error = "请选择压水室类型!";
                return false;
                isOk = false;
                error = "请输入必填项!";
                mTextBoxEdit总流量.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                skyLabel总流量.Text = error;
                skyLabel总流量.Visible = true;
            }
            var image = "alert-square-rounded.png";
            if(string.IsNullOrEmpty(mTextBoxEdit总流量.Text) || mTextBoxEdit总流量.Text == "请输入总流量"||
                string.IsNullOrEmpty(mTextBoxEdit转速.Text) || mTextBoxEdit转速.Text == "请输入转速"||
                string.IsNullOrEmpty(mTextBoxEdit出口直径.Text) || mTextBoxEdit出口直径.Text == "请输入出口直径"||
                string.IsNullOrEmpty(mTextBoxEdit转速.Text) || mTextBoxEdit转速.Text == "请输入转速"||
                string.IsNullOrEmpty(mTextBoxEdit出口宽度.Text) || mTextBoxEdit出口宽度.Text == "请输入出口宽度")
            if (string.IsNullOrEmpty(mTextBoxEdit转速.Text) || mTextBoxEdit转速.Text == "请输入转速" ||
               !double.TryParse(mTextBoxEdit转速.Text, out v) ||
                double.Parse(mTextBoxEdit转速.Text) <= 0)
            {
                if (string.IsNullOrEmpty(mTextBoxEdit总流量.Text) || mTextBoxEdit总流量.Text == "请输入总流量")
                isOk = false;
                error = "请输入必填项!";
                mTextBoxEdit转速.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                skyLabel转速.Text = error;
                skyLabel转速.Visible = true;
            }
            if (string.IsNullOrEmpty(mTextBoxEdit扬程.Text) || mTextBoxEdit扬程.Text == "请输入扬程" ||
               !double.TryParse(mTextBoxEdit扬程.Text, out v) ||
                double.Parse(mTextBoxEdit扬程.Text) <= 0)
            {
                isOk = false;
                error = "请输入必填项!";
                mTextBoxEdit扬程.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                skyLabel扬程.Text = error;
                skyLabel扬程.Visible = true;
            }
            if (string.IsNullOrEmpty(mTextBoxEdit出口直径D2.Text) || mTextBoxEdit出口直径D2.Text == "请输入出口直径" ||
                !double.TryParse(mTextBoxEdit出口直径D2.Text, out v) ||
                double.Parse(mTextBoxEdit出口直径D2.Text) <= 0)
            {
                isOk = false;
                error = "请输入必填项!";
                mTextBoxEdit出口直径D2.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                skyLabel出口直径.Text = error;
                skyLabel出口直径.Visible = true;
            }
            if (string.IsNullOrEmpty(mTextBox出口宽度B2.Text) || mTextBox出口宽度B2.Text == "请输入出口宽度" ||
                !double.TryParse(mTextBox出口宽度B2.Text, out v) ||
                double.Parse(mTextBox出口宽度B2.Text) <= 0)
            {
                isOk = false;
                error = "请输入必填项!";
                mTextBox出口宽度B2.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                skyLabel出口宽度.Text = error;
                skyLabel出口宽度.Visible = true;
            }
            if (string.IsNullOrEmpty(mTextBoxEdit基圆直径D3.Text) ||
                !double.TryParse(mTextBoxEdit基圆直径D3.Text, out v) ||
                double.Parse(mTextBoxEdit基圆直径D3.Text) <= 0)
            {
                isOk = false;
                error = "请输入必填项!";
                mTextBoxEdit基圆直径D3.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                skyLabel基圆直径.Text = error;
                skyLabel基圆直径.Visible = true;
            }
            if (string.IsNullOrEmpty(mTextBox基圆宽度B3.Text) ||
                !double.TryParse(mTextBox基圆宽度B3.Text, out v) ||
                double.Parse(mTextBox基圆宽度B3.Text) <= 0)
            {
                isOk = false;
                error = "请输入必填项!";
                mTextBox基圆宽度B3.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                skyLabel基圆宽度.Text = error;
                skyLabel基圆宽度.Visible = true;
            }
            if (isOk)
            {
                if (double.Parse(mTextBoxEdit基圆直径D3.Text) <= double.Parse(mTextBoxEdit出口直径D2.Text) + 2)
                {
                    error = "请输入必填项!";
                    mTextBoxEdit总流量.TrailingIcon = Icon(ResourcesPath, image);
                    skyLabel总流量.Visible = true;
                }
                if (string.IsNullOrEmpty(mTextBoxEdit转速.Text) || mTextBoxEdit转速.Text == "请输入转速")
                {
                    error = "请输入必填项!";
                    mTextBoxEdit转速.TrailingIcon = Icon(ResourcesPath, image);
                    skyLabel转速.Visible = true;
                }
                if (string.IsNullOrEmpty(mTextBoxEdit扬程.Text) || mTextBoxEdit扬程.Text == "请输入扬程")
                {
                    error = "请输入必填项!";
                    mTextBoxEdit扬程.TrailingIcon = Icon(ResourcesPath, image);
                    skyLabel扬程.Visible = true;
                }
                if (string.IsNullOrEmpty(mTextBoxEdit出口直径.Text) || mTextBoxEdit出口直径.Text == "请输入出口直径")
                {
                    error = "请输入必填项!";
                    mTextBoxEdit出口直径.TrailingIcon = Icon(ResourcesPath, image);
                    skyLabel出口直径.Visible = true;
                }
                if (string.IsNullOrEmpty(mTextBoxEdit出口宽度.Text) || mTextBoxEdit出口宽度.Text == "请输入出口宽度")
                {
                    error = "请输入必填项!";
                    mTextBoxEdit出口宽度.TrailingIcon = Icon(ResourcesPath, image);
                    skyLabel出口宽度.Visible = true;
                    isOk = false;
                    error = "基圆直径要大于叶轮外径";
                    mTextBoxEdit基圆直径D3.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                    skyLabel基圆直径.Text = error;
                    skyLabel基圆直径.Visible = true;
                }
                return false;
                if (double.Parse(mTextBox基圆宽度B3.Text) <= double.Parse(mTextBox出口宽度B2.Text))
                {
                    isOk = false;
                    error = "基圆宽度要大于叶轮宽度";
                    mTextBox基圆宽度B3.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                    skyLabel基圆宽度.Text = error;
                    skyLabel基圆宽度.Visible = true;
                }
            }
            return true;
            return isOk;
        }
        private void addimage()
        double ns = 0;
        private void CalcNs()
        {
            //Leadingicon è¾“入框前缀图片
            var image = "north-star.png";
            mTextBoxEdit总流量.LeadingIcon = Icon(ResourcesPath, image);
            mTextBoxEdit转速.LeadingIcon = Icon(ResourcesPath, image);
            mTextBoxEdit扬程.LeadingIcon = Icon(ResourcesPath, image);
            mTextBoxEdit出口直径.LeadingIcon = Icon(ResourcesPath, image);
            mTextBoxEdit出口宽度.LeadingIcon = Icon(ResourcesPath, image);
            if (string.IsNullOrEmpty(this.mTextBoxEdit总流量.Text))
                return;
            if (string.IsNullOrEmpty(this.mTextBoxEdit扬程.Text))
                return;
            if (string.IsNullOrEmpty(this.mTextBoxEdit转速.Text))
                return;
            var Q = Convert.ToDouble(this.mTextBoxEdit总流量.Text);
            var H = Convert.ToDouble(this.mTextBoxEdit扬程.Text);
            var n = Convert.ToDouble(this.mTextBoxEdit转速.Text);
            if (Q < 1 || H < 1 || n < 10)
            {
                return;
            }
            var IsSXB = this.RBtn双吸泵.Checked;
            var calc_q = Q;
            if (IsSXB) calc_q = Q / 2;
            ns = Math.Round(3.65 * n * Math.Sqrt(calc_q / 3600) / Math.Pow(H, 0.75), 2);
            labelNs.Text = string.Format(" æ¯”转速:{0}", ns);
        }
        private void Tips()
        private void BuildIcon()
        {
            metroToolTip第一步提示.SetToolTip(this.RBtn旋转型, "旋转型");
            metroToolTip第一步提示.SetToolTip(this.RBtn双蜗壳型, "双蜗壳型");
            metroToolTip第一步提示.SetToolTip(this.RBtn环型, "环型");
            metroToolTip第一步提示.SetToolTip(this.RBtn准旋转型, "准旋转型");
            metroToolTip第一步提示.SetToolTip(this.mTextBoxEdit总流量, "总流量");
            metroToolTip第一步提示.SetToolTip(this.mTextBoxEdit转速, "转速");
            metroToolTip第一步提示.SetToolTip(this.mTextBoxEdit扬程, "扬程");
            metroToolTip第一步提示.SetToolTip(this.mTextBoxEdit出口直径, "出口直径");
            metroToolTip第一步提示.SetToolTip(this.mTextBoxEdit出口宽度, "出口宽度");
            mTextBoxEdit总流量.LeadingIcon = GlobalResource.GetLeadingIcon();
            mTextBoxEdit转速.LeadingIcon = GlobalResource.GetLeadingIcon();
            mTextBoxEdit扬程.LeadingIcon = GlobalResource.GetLeadingIcon();
            mTextBoxEdit出口直径D2.LeadingIcon = GlobalResource.GetLeadingIcon();
            mTextBox出口宽度B2.LeadingIcon = GlobalResource.GetLeadingIcon();
            //mTextBoxEdit速度系数.LeadingIcon = GlobalResource.GetLeadingIcon();
            mTextBoxEdit基圆直径D3.LeadingIcon = GlobalResource.GetLeadingIcon();
            mTextBox基圆宽度B3.LeadingIcon = GlobalResource.GetLeadingIcon();
        }
        private void BuildAllTips()
        {
            //metroToolTip提示.SetToolTip(this.RBtn螺旋型, "螺旋型");
            //metroToolTip提示.SetToolTip(this.RBtn双蜗壳型, "双蜗壳型");
            //metroToolTip提示.SetToolTip(this.RBtn环型, "环型");
            //metroToolTip提示.SetToolTip(this.RBtn准螺旋型, "准螺旋型");
            //metroToolTip提示.SetToolTip(this.mTextBoxEdit总流量, "总流量");
            //metroToolTip提示.SetToolTip(this.mTextBoxEdit转速, "转速");
            //metroToolTip提示.SetToolTip(this.mTextBoxEdit扬程, "扬程");
            //metroToolTip提示.SetToolTip(this.mTextBoxEdit出口直径, "出口直径");
            //metroToolTip提示.SetToolTip(this.mTextBoxEdit出口宽度, "出口宽度");
            //metroToolTip提示.SetToolTip(this.mTextBoxEdit基圆直径, "D3 è§£é‡Š");
            //metroToolTip提示.SetToolTip(this.mTextBoxEdit基圆宽度, "b3 è§£é‡Š");
        }
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(mTextBox出口宽度B2.Text))
                return;
            var b2 = double.Parse(mTextBox出口宽度B2.Text);
            double b3 = 0;
            if (b2 <= 7)
                b3 = b2 * 3;
            if (b2 <= 32 && b2 > 7)
                b3 = b2 * 2;
            if (b2 > 32 && b2 <= 60)
                b3 = b2 * 1.5;
            if (b2 > 60)
                b3 = b2 * 1.2;
            mTextBox基圆宽度B3.Text = b3.ToString();
            if (string.IsNullOrEmpty(mTextBoxEdit出口直径D2.Text))
                return;
            double D2 = double.Parse(mTextBoxEdit出口直径D2.Text);
            double D3 = (int)(1.05 * D2);
            mTextBoxEdit基圆直径D3.Text = D3.ToString();
            //计算并设置FAIO
            double FAI0 = 0;//, FAI0min, FAI0max;
            if (ns < 100)
            {
                FAI0 = 25 + (int)(ns / 20);
               // FAI0min = 25.0;
               // FAI0max = 30.0;
            }
            if (ns >= 100 && ns < 200)
            {
                FAI0 = 30 + (int)((ns - 100) / 12.5);
               // FAI0min = 30.0;
               // FAI0max = 38.0;
            }
            if (ns >= 200 && ns < 300)
            {
                FAI0 = 38 + (int)((ns - 200) / 50);
              //  FAI0min = 38.0;
              //  FAI0max = 40.0;
            }
            if (ns > 300)
            {
                FAI0 = 42;
               // FAI0min = 40.0;
               // FAI0max = 45.0;
            }
            mTextBoxEdit隔舌安放角.Text = FAI0.ToString();
        }
        private void mTextBoxEdit总流量_TextChanged(object sender, EventArgs e)
        {
            foreach (var s in mTextBoxEdit总流量.Text)
            double v = 0;
            if (!double.TryParse(mTextBoxEdit总流量.Text, out v))
            {
                if (!double.TryParse(mTextBoxEdit总流量.Text, out double result) && !string.IsNullOrEmpty(mTextBoxEdit总流量.Text) && mTextBoxEdit总流量.Text != "请输入总流量")
                {
                    mTextBoxEdit总流量.UseAccent = true;
                    mTextBoxEdit总流量.ShowAssistiveText = true;
                    mTextBoxEdit总流量.HelperText = "请输入正确总流量!";
                    mTextBoxEdit总流量.Text = "";
                    break;
                }
                else
                {
                    mTextBoxEdit总流量.ShowAssistiveText = false;
                    mTextBoxEdit总流量.UseAccent = false;
                }
                MessageBox.Show("请输入数字格式!");
                return;
            }
        }
        private void mTextBoxEdit转速_TextChanged(object sender, EventArgs e)
        {
            foreach (var s in mTextBoxEdit转速.Text)
            {
                if (!double.TryParse(mTextBoxEdit转速.Text, out double result) && !string.IsNullOrEmpty(mTextBoxEdit转速.Text) && mTextBoxEdit转速.Text != "请输入转速")
                {
                    mTextBoxEdit转速.UseAccent = true;
                    mTextBoxEdit转速.ShowAssistiveText = true;
                    mTextBoxEdit转速.HelperText = "请输入正确转速!";
                    mTextBoxEdit转速.Text = "";
                    break;
                }
                else
                {
                    mTextBoxEdit转速.ShowAssistiveText = false;
                    mTextBoxEdit转速.UseAccent = false;
                }
            }
            CalcNs();
        }
        private void mTextBoxEdit扬程_TextChanged(object sender, EventArgs e)
        {
            foreach (var s in mTextBoxEdit扬程.Text)
            double v = 0;
            if (!double.TryParse(mTextBoxEdit扬程.Text, out v))
            {
                if (!double.TryParse(mTextBoxEdit扬程.Text, out double result) && !string.IsNullOrEmpty(mTextBoxEdit扬程.Text) && mTextBoxEdit扬程.Text != "请输入扬程")
                {
                    mTextBoxEdit扬程.UseAccent = true;
                    mTextBoxEdit扬程.ShowAssistiveText = true;
                    mTextBoxEdit扬程.HelperText = "请输入正确扬程!";
                    mTextBoxEdit扬程.Text = "";
                    break;
                }
                else
                {
                    mTextBoxEdit扬程.ShowAssistiveText = false;
                    mTextBoxEdit扬程.UseAccent = false;
                }
                MessageBox.Show("请输入数字格式!");
                return;
            }
            CalcNs();
        }
        private void mTextBoxEdit出口直径_TextChanged(object sender, EventArgs e)
        private void mTextBoxEdit转速_TextChanged(object sender, EventArgs e)
        {
            foreach (var s in mTextBoxEdit出口直径.Text)
            double v = 0;
            if (!double.TryParse(mTextBoxEdit转速.Text, out v))
            {
                if (!double.TryParse(mTextBoxEdit出口直径.Text, out double result) && !string.IsNullOrEmpty(mTextBoxEdit出口直径.Text) && mTextBoxEdit出口直径.Text != "请输入出口直径")
                {
                    mTextBoxEdit出口直径.UseAccent = true;
                    mTextBoxEdit出口直径.ShowAssistiveText = true;
                    mTextBoxEdit出口直径.HelperText = "请输入正确出口直径!";
                    mTextBoxEdit出口直径.Text = "";
                    break;
                }
                else
                {
                    mTextBoxEdit出口直径.ShowAssistiveText = false;
                    mTextBoxEdit出口直径.UseAccent = false;
                }
                MessageBox.Show("请输入数字格式!");
                return;
            }
            CalcNs();
        }
        private void mTextBoxEdit出口宽度_TextChanged(object sender, EventArgs e)
        private void RBtn双吸泵_CheckedChanged(object sender)
        {
            foreach (var s in mTextBoxEdit出口宽度.Text)
            {
                if (!double.TryParse(mTextBoxEdit出口宽度.Text, out double result) && !string.IsNullOrEmpty(mTextBoxEdit出口宽度.Text) && mTextBoxEdit出口宽度.Text != "请输入出口宽度")
                {
                    mTextBoxEdit出口宽度.UseAccent = true;
                    mTextBoxEdit出口宽度.ShowAssistiveText = true;
                    mTextBoxEdit出口宽度.HelperText = "请输正确出口宽度!";
                    mTextBoxEdit出口宽度.Text = "";
                    break;
                }
                else
                {
                    mTextBoxEdit出口宽度.ShowAssistiveText = false;
                    mTextBoxEdit出口宽度.UseAccent = false;
                }
            }
            CalcNs();
        }
        private void mTextBoxEdit总流量_Leave(object sender, EventArgs e)
        private void btnNextStep_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(mTextBoxEdit总流量.Text))
            {
                mTextBoxEdit总流量.Text = "请输入总流量";
            }
            NextStep();
        }
        private void mTextBoxEdit总流量_Enter(object sender, EventArgs e)
        {
            skyLabel总流量.Visible = false;
            mTextBoxEdit总流量.TrailingIcon = null;
            if (mTextBoxEdit总流量.Text == "请输入总流量")
            {
                mTextBoxEdit总流量.Text = "";
            }
        }
        private void mTextBoxEdit转速_Leave(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(mTextBoxEdit转速.Text))
            {
                mTextBoxEdit转速.Text = "请输入转速";
            }
        }
        private void mTextBoxEdit转速_Enter(object sender, EventArgs e)
        {
            skyLabel转速.Visible = false;
            mTextBoxEdit转速.TrailingIcon = null;
            if (mTextBoxEdit转速.Text == "请输入转速")
            {
                mTextBoxEdit转速.Text = "";
            }
        }
        private void mTextBoxEdit扬程_Leave(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(mTextBoxEdit扬程.Text))
            {
                mTextBoxEdit扬程.Text = "请输入扬程";
            }
        }
        private void mTextBoxEdit扬程_Enter(object sender, EventArgs e)
        {
            skyLabel扬程.Visible = false;
            mTextBoxEdit扬程.TrailingIcon = null;
            if (mTextBoxEdit扬程.Text == "请输入扬程")
            {
                mTextBoxEdit扬程.Text = "";
            }
        }
        private void mTextBoxEdit出口直径D_Leave(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(mTextBoxEdit出口直径.Text))
            {
                mTextBoxEdit出口直径.Text = "请输入出口直径";
            }
        }
        private void mTextBoxEdit出口直径_Enter(object sender, EventArgs e)
        {
            skyLabel出口直径.Visible = false;
            mTextBoxEdit出口直径.TrailingIcon = null;
            if (mTextBoxEdit出口直径.Text == "请输入出口直径")
            {
                mTextBoxEdit出口直径.Text = "";
            }
        }
        private void mTextBoxEdit出口宽度_Leave(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(mTextBoxEdit出口宽度.Text))
            {
                mTextBoxEdit出口宽度.Text = "请输入出口宽度";
            }
        }
        private void mTextBoxEdit出口宽度_Enter(object sender, EventArgs e)
        {
            skyLabel出口宽度.Visible = false;
            mTextBoxEdit出口宽度.TrailingIcon = null;
            if (mTextBoxEdit出口宽度.Text == "请输入出口宽度")
            {
                mTextBoxEdit出口宽度.Text = "";
            }
        }
        /// <summary>
        /// å›¾ç‰‡
        /// </summary>
        /// <param name="path">文件夹路径(编译路径下的)</param>
        /// <param name="filename">文件名</param>
        /// <returns></returns>
        private System.Drawing.Image Icon(string path, string filename)
        {
            System.Drawing.Image thumbnail = AssembledPath(path, filename).GetThumbnailImage(20, 20, () => false, IntPtr.Zero);
            return thumbnail;
        }
        /// <summary>
        /// è·¯å¾„、文件名拼接
        /// </summary>
        /// <param name="path">路径</param>
        /// <param name="filename">文件名</param>
        /// <returns></returns>
        private System.Drawing.Image AssembledPath(string path, string filename)
        {
            if (path == null && filename == null)
            {
                return null;
            }
            string fullPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, path, filename);
            System.Drawing.Image image = System.Drawing.Image.FromFile(fullPath);
            return image;
        }
    }
}