yangyin
2024-12-16 b4c867bf85d3edef5d084a3a26f13cbc6784bf58
WinFrmUI/DPumpHydr.WinFrmUI.Volute/³öË®Éè¼Æ/ctrlSetOutflowStyle.cs
@@ -1,4 +1,6 @@
using DPumpHydr.WinFrmUI.RLT.Controls;

using DPumpHydr.WinFrmUI.Volute.ViewModel;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@@ -10,169 +12,80 @@
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DPumpHydr.WinFrmUI.Volute
namespace DPumpHydr.WinFrmUI.Volute
{
    public partial class ctrlSetOutflowStyle : UserControl
    public partial class ctrlSetOutflowStyle : ParasInfoBaseCtrl
    {
        public ctrlSetOutflowStyle()
        {
            InitializeComponent();
            AddControlToPanel(_type, panel);
            BuildAllTips();
            BuildIcon();
        }
        private void BuildIcon()
        int _type = 0;
        public void SetBindingData(eOutflowStyle eOutflowStyle)
        {
            //扩散管形状图片
            metroTile扩散管形状.BackgroundImage = GlobalResource.BuildImage("kuosanguan.png", 878, 238);
            //输入框前缀图片
            mlTextBoxEdit扩散管长度.LeadingIcon = GlobalResource.GetLeadingIcon();
            mlTextBoxEdit中心距离.LeadingIcon = GlobalResource.GetLeadingIcon();
            if (eOutflowStyle == eOutflowStyle.中心出口_垂直法兰面流出)
            {
                _type = 0;
                panel.Controls.Clear();
                AddControlToPanel(_type, panel);
            }
            if (eOutflowStyle == eOutflowStyle.侧面出口_曲线连接)
            {
                _type = 1;
                panel.Controls.Clear();
                AddControlToPanel(_type, panel);
            }
            if (eOutflowStyle == eOutflowStyle.侧面出口_直线连接)
            {
                _type = 2;
                panel.Controls.Clear();
                AddControlToPanel(_type, panel);
            }
        }
        public bool Verify(out string error)
        private Control AddControlToPanel(int type, Panel panel)
        {
            error = "";
            bool isOk = true;
            if (string.IsNullOrEmpty(mlTextBoxEdit扩散管长度.Text) || mlTextBoxEdit扩散管长度.Text == "请输入扩散管长度" || double.Parse(mlTextBoxEdit扩散管长度.Text) == 0)
            Control newControl = null;
            switch (type)
            {
                error = "请输入扩散管长度!";
                isOk = false;
                mlTextBoxEdit扩散管长度.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                skyLabel扩散管长度.Visible = true;
                case 0:
                    newControl = new centralExitControl();
                    metroTile扩散管形状.BackgroundImage = GlobalResource.BuildImage("Central-exit.png", 878, 238);
                    break;
                case 1:
                    newControl = new sideCurveExitControl();
                    metroTile扩散管形状.BackgroundImage = GlobalResource.BuildImage("Side-exit-curve.png", 878, 238);
                    break;
                case 2:
                    newControl = new sidelineExitControl();
                    metroTile扩散管形状.BackgroundImage = GlobalResource.BuildImage("Side-exit-straight-line.png", 878, 238);
                    break;
                default:
                    throw new ArgumentException("Invalid control type");
            }
            if (string.IsNullOrEmpty(mlTextBoxEdit中心距离.Text) || mlTextBoxEdit中心距离.Text == "请输入中心距离" || double.Parse(mlTextBoxEdit中心距离.Text) == 0)
            {
                error = "请输入中心距离!";
                isOk = false;
                mlTextBoxEdit中心距离.TrailingIcon = GlobalResource.GetTipTrailingIcon();
                skyLabel中心距离.Visible = true;
            }
            return isOk;
            // å°†æŽ§ä»¶æ·»åŠ åˆ°Panel中
            panel.Controls.Add(newControl);
            newControl.Dock = DockStyle.Top;
            return newControl;
        }
        private void BuildAllTips()
        {
            metroToolTip第六步提示.SetToolTip(this.metroTile扩散管形状, "断面图");
            metroToolTip第六步提示.SetToolTip(this.mlTextBoxEdit扩散管长度, "蜗室中液体流动\n路径的扩展或扩\n散程度");
            metroToolTip第六步提示.SetToolTip(this.mlTextBoxEdit中心距离, "中心距离 è§£é‡Š");
            metroToolTip第六步提示.SetToolTip(this.crownLabel出口, "出口 è§£é‡Š");
            metroToolTip第六步提示.SetToolTip(this.dungeonNumeric出口, "出口 è§£é‡Š");
            metroToolTip第六步提示.SetToolTip(this.metroTrackBar出口, "出口 è§£é‡Š");
            metroToolTip第六步提示.SetToolTip(this.crownLabel第八端面, "第八断面 è§£é‡Š");
            metroToolTip第六步提示.SetToolTip(this.dungeonNumeric第八端面, "第八端面 è§£é‡Š");
            metroToolTip第六步提示.SetToolTip(this.metroTrackBar第八端面, "第八端面 è§£é‡Š");
        }
        private void metroTrackBar第八端面_Scroll(object sender)
        {
            dungeonNumeric第八端面.Value = metroTrackBar第八端面.Value;
        }
        private void metroTrackBar出口_Scroll(object sender)
        {
            dungeonNumeric出口.Value = metroTrackBar出口.Value;
        }
        private void dungeonNumeric出口_Leave(object sender, EventArgs e)
        {
            metroTrackBar出口.Value = (int)(dungeonNumeric出口.Value);
        }
        private void dungeonNumeric第八端面_Leave(object sender, EventArgs e)
        {
            metroTrackBar第八端面.Value = (int)(dungeonNumeric第八端面.Value);
        }
        private void mlTextBoxEdit扩散长度_TextChanged(object sender, EventArgs e)
        {
            foreach (var s in mlTextBoxEdit扩散管长度.Text)
            {
                if (!double.TryParse(mlTextBoxEdit扩散管长度.Text, out double result) && !string.IsNullOrEmpty(mlTextBoxEdit扩散管长度.Text) && mlTextBoxEdit扩散管长度.Text != "请输入扩散管长度")
                {
                    mlTextBoxEdit扩散管长度.UseAccent = true;
                    mlTextBoxEdit扩散管长度.ShowAssistiveText = true;
                    mlTextBoxEdit扩散管长度.Text = "";
                    break;
                }
                else
                {
                    mlTextBoxEdit扩散管长度.ShowAssistiveText = false;
                    mlTextBoxEdit扩散管长度.UseAccent = false;
                }
            }
        }
        private void mlTextBoxEdit扩散长度_Enter(object sender, EventArgs e)
        {
            skyLabel扩散管长度.Visible = false;
            mlTextBoxEdit扩散管长度.TrailingIcon = null;
            if (mlTextBoxEdit扩散管长度.Text == "请输入扩散管长度")
            {
                mlTextBoxEdit扩散管长度.Text = "";
            }
        }
        private void mlTextBoxEdit扩散长度_Leave(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(mlTextBoxEdit扩散管长度.Text) || double.Parse(mlTextBoxEdit扩散管长度.Text) == 0)
            {
                mlTextBoxEdit扩散管长度.Text = "请输入扩散管长度";
            }
        }
        private void mlTextBoxEdit中心距离_Enter(object sender, EventArgs e)
        {
            skyLabel中心距离.Visible = false;
            mlTextBoxEdit中心距离.TrailingIcon = null;
            if (mlTextBoxEdit中心距离.Text == "请输入中心距离")
            {
                mlTextBoxEdit中心距离.Text = "";
            }
        }
        private void mlTextBoxEdit中心距离_Leave(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(mlTextBoxEdit中心距离.Text) || double.Parse(mlTextBoxEdit中心距离.Text) == 0)
            {
                mlTextBoxEdit中心距离.Text = "请输入中心距离";
            }
        }
        private void mlTextBoxEdit中心距离_TextChanged(object sender, EventArgs e)
        {
            foreach (var s in mlTextBoxEdit中心距离.Text)
            {
                if (!double.TryParse(mlTextBoxEdit中心距离.Text, out double result) && !string.IsNullOrEmpty(mlTextBoxEdit中心距离.Text) && mlTextBoxEdit中心距离.Text != "请输入中心距离")
                {
                    mlTextBoxEdit中心距离.UseAccent = true;
                    mlTextBoxEdit中心距离.ShowAssistiveText = true;
                    mlTextBoxEdit中心距离.Text = "";
                    break;
                }
                else
                {
                    mlTextBoxEdit中心距离.ShowAssistiveText = false;
                    mlTextBoxEdit中心距离.UseAccent = false;
                }
            }
        }
        private void mBtn更新模型_Click(object sender, EventArgs e)
        {
            if (mlTextBoxEdit扩散管长度.Text == "请输入扩散管长度" || string.IsNullOrEmpty(mlTextBoxEdit扩散管长度.Text))
            {
                skyLabel扩散管长度.Visible = true;
                MessageBox.Show("请先输入扩散管长度!");
                return;
            }
            if (mlTextBoxEdit中心距离.Text == "请输入中心距离" || string.IsNullOrEmpty(mlTextBoxEdit中心距离.Text))
            {
                skyLabel中心距离.Visible = true;
                MessageBox.Show("请先输入中心距离!");
                return;
            }
        }
    }
}