using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace DPumpHydr.WinFrmUI.Volute { /// /// 1-8断面设计 /// public partial class ctrlSectionShapeInfo18 : ParasInfoBaseCtrl { public ctrlSectionShapeInfo18() { InitializeComponent(); BuildIcon(); BuildAllTips(); } ViewModel.SectionShapePara _paras = null; public void SetBindingData(ViewModel.SectionShapePara vm) { this._paras = vm; if (vm == null) { return; } this.mTextBoxEdity1.Text = vm.Gama_Left.ToString(); this.mTextBoxEdity2.Text = vm.Gama_Right.ToString(); this.mTextBoxEditR1.Text = vm.R_Left.ToString(); this.mTextBoxEditR2.Text = vm.R_Right.ToString(); this.mTextBoxEditH.Text = vm.H.ToString(); this.mTextBoxEditR4.Text = vm.R_out.ToString(); this.ribbonGroupBox1.Text = "第" + vm.Index + "断面"; InitialModule(); } public void RefreshSectPara(ViewModel.SectionShapePara paras) { SetBindingData(paras); // paras.ii } public ViewModel.SectionShapePara GetBindingData(out string error) { if (!Verify(out error)) { return null; } error = null; if (_paras == null) { return null; } _paras.Gama_Left = Convert.ToDouble(this.mTextBoxEdity1.Text); _paras.Gama_Right = Convert.ToDouble(this.mTextBoxEdity2.Text); _paras.R_Left = Convert.ToDouble(this.mTextBoxEditR1.Text); _paras.R_Right = Convert.ToDouble(this.mTextBoxEditR2.Text); _paras.H = Convert.ToDouble(this.mTextBoxEditH.Text); _paras.R_out = Convert.ToDouble(this.mTextBoxEditR4.Text); return _paras; } public bool Verify(out string error) { error = ""; bool isOk = true; if (string.IsNullOrEmpty(mTextBoxEditR1.Text) || double.Parse(mTextBoxEditR1.Text) == 0) { isOk = false; error = "请输入必填项!"; mTextBoxEditR1.TrailingIcon = GlobalResource.GetTipTrailingIcon(); skyLabelW4.Visible = true; } if (RBtnW1.Checked) { if (string.IsNullOrEmpty(mTextBoxEditW1.Text) || mTextBoxEditW1.Text == "请输入" || double.Parse(mTextBoxEditW1.Text) == 0) { isOk = false; error = "请输入W1!"; mTextBoxEditW1.TrailingIcon = GlobalResource.GetTipTrailingIcon(); skyLabelW1.Visible = true; } if (string.IsNullOrEmpty(mTextBoxEditu.Text) || mTextBoxEditu.Text == "请输入" || double.Parse(mTextBoxEditu.Text) == 0) { isOk = false; error = "请输入U!"; mTextBoxEditu.TrailingIcon = GlobalResource.GetTipTrailingIcon(); skyLabelU.Visible = true; } } if (string.IsNullOrEmpty(mTextBoxEdity1.Text) || double.Parse(mTextBoxEdity1.Text) == 0) { isOk = false; error = "请输入V1!"; mTextBoxEdity1.TrailingIcon = GlobalResource.GetTipTrailingIcon(); skyLabely1.Visible = true; } if (string.IsNullOrEmpty(mTextBoxEdity2.Text) || double.Parse(mTextBoxEdity2.Text) == 0) { isOk = false; error = "请输入V2!"; mTextBoxEdity2.TrailingIcon = GlobalResource.GetTipTrailingIcon(); skyLabely2.Visible = true; } if (RBtnW4.Checked) { if (string.IsNullOrEmpty(mTextBoxEditW4.Text) || mTextBoxEditW4.Text == "请输入W4" || double.Parse(mTextBoxEditW4.Text) == 0) { isOk = false; error = "请输入W4!"; mTextBoxEditW4.TrailingIcon = GlobalResource.GetTipTrailingIcon(); skyLabelW4.Visible = true; } } return isOk; } private void BuildIcon() { //断面形状图片 metroTile断面形状.BackgroundImage = GlobalResource.BuildImage("duanmian.png", 190, 190); //输入框前缀 mTextBoxEditW1.LeadingIcon = GlobalResource.GetLeadingIcon(); mTextBoxEditu.LeadingIcon = GlobalResource.GetLeadingIcon(); mTextBoxEdity1.LeadingIcon = GlobalResource.GetLeadingIcon(); mTextBoxEditR1.LeadingIcon = GlobalResource.GetLeadingIcon(); } private void BuildAllTips() { metroToolTip第四步提示.SetToolTip(this.metroTile断面形状, "断面图"); metroToolTip第四步提示.SetToolTip(this.mTextBoxEditW1, "W1 解释"); metroToolTip第四步提示.SetToolTip(this.mTextBoxEditu, "u 解释"); metroToolTip第四步提示.SetToolTip(this.mTextBoxEdity1, "V1 解释"); metroToolTip第四步提示.SetToolTip(this.mTextBoxEdity2, "V2 解释"); metroToolTip第四步提示.SetToolTip(this.mTextBoxEditW4, "W4 解释"); metroToolTip第四步提示.SetToolTip(this.mTextBoxEditR1, "R1 解释"); } private void InitialModule() { if (_paras.ShapeType == ViewModel.eSectionShapeType.对称) { mTextBoxEdity1.Enabled = true; mTextBoxEdity2.Enabled = false; } if (_paras.ShapeType == ViewModel.eSectionShapeType.矩形) { mTextBoxEdity2.Enabled = false; mTextBoxEdity1.Enabled = false; } if (_paras.ShapeType == ViewModel.eSectionShapeType.不对称) { mTextBoxEdity1.Enabled = true; mTextBoxEdity2.Enabled = true; } } private void mTextBoxEditW1_Enter(object sender, EventArgs e) { skyLabelW1.Visible = false; mTextBoxEditW1.TrailingIcon = null; if (mTextBoxEditW1.Text == "请输入") { mTextBoxEditW1.Text = ""; } } private void mTextBoxEditW1_Leave(object sender, EventArgs e) { if ((string.IsNullOrEmpty(mTextBoxEditW1.Text) || double.Parse(mTextBoxEditW1.Text) == 0) && mTextBoxEditW1.Enabled == true) { mTextBoxEditW1.Text = "请输入"; } } private void mTextBoxEditW1_TextChanged(object sender, EventArgs e) { if (mTextBoxEditW1.Enabled) { if (!double.TryParse(mTextBoxEditW1.Text, out double result) && !string.IsNullOrEmpty(mTextBoxEditW1.Text) && mTextBoxEditW1.Text != "请输入") { mTextBoxEditW1.UseAccent = true; mTextBoxEditW1.ShowAssistiveText = true; mTextBoxEditW1.Text = ""; } else { mTextBoxEditW1.ShowAssistiveText = false; mTextBoxEditW1.UseAccent = false; } } } private void mTextBoxEditu_TextChanged(object sender, EventArgs e) { if (mTextBoxEditu.Enabled) { if (!double.TryParse(mTextBoxEditu.Text, out double result) && !string.IsNullOrEmpty(mTextBoxEditu.Text) && mTextBoxEditu.Text != "请输入") { mTextBoxEditu.UseAccent = true; mTextBoxEditu.ShowAssistiveText = true; mTextBoxEditu.Text = ""; } else { mTextBoxEditu.ShowAssistiveText = false; mTextBoxEditu.UseAccent = false; } } } private void mTextBoxEditu_Enter(object sender, EventArgs e) { skyLabelU.Visible = false; mTextBoxEditu.TrailingIcon = null; if (mTextBoxEditu.Text == "请输入") { mTextBoxEditu.Text = ""; } } private void mTextBoxEditu_Leave(object sender, EventArgs e) { if ((string.IsNullOrEmpty(mTextBoxEditu.Text) || double.Parse(mTextBoxEditu.Text) == 0) && mTextBoxEditu.Enabled == true) { mTextBoxEditu.Text = "请输入"; } } private void mTextBoxEditv1_Enter(object sender, EventArgs e) { skyLabely1.Visible = false; mTextBoxEdity1.TrailingIcon = null; } private void mTextBoxEditv1_Leave(object sender, EventArgs e) { if ((string.IsNullOrEmpty(mTextBoxEdity1.Text) || double.Parse(mTextBoxEdity1.Text) == 0) && mTextBoxEdity1.Enabled == true) { mTextBoxEdity1.Text = _paras.Gama_Left.ToString(); } } private void mTextBoxEditv1_TextChanged(object sender, EventArgs e) { if (mTextBoxEdity1.Enabled) { { if (!double.TryParse(mTextBoxEdity1.Text, out double result) && !string.IsNullOrEmpty(mTextBoxEdity1.Text)) { mTextBoxEdity1.UseAccent = true; mTextBoxEdity1.ShowAssistiveText = true; mTextBoxEdity1.Text = ""; } else { mTextBoxEdity1.ShowAssistiveText = false; mTextBoxEdity1.UseAccent = false; } } if (_paras.ShapeType == ViewModel.eSectionShapeType.对称) { mTextBoxEdity2.Text = mTextBoxEdity1.Text; } } } private void mTextBoxEditv2_Enter(object sender, EventArgs e) { skyLabely1.Visible = false; mTextBoxEdity2.TrailingIcon = null; } private void mTextBoxEditv2_Leave(object sender, EventArgs e) { if ((string.IsNullOrEmpty(mTextBoxEdity2.Text) || double.Parse(mTextBoxEdity2.Text) == 0) && mTextBoxEdity2.Enabled == true) { mTextBoxEdity2.Text = _paras.Gama_Right.ToString(); } } private void mTextBoxEditv2_TextChanged(object sender, EventArgs e) { if (mTextBoxEdity2.Enabled) { { if (!double.TryParse(mTextBoxEdity2.Text, out double result) && !string.IsNullOrEmpty(mTextBoxEdity2.Text)) { mTextBoxEdity2.UseAccent = true; mTextBoxEdity2.ShowAssistiveText = true; mTextBoxEdity2.Text = ""; } else { mTextBoxEdity2.ShowAssistiveText = false; mTextBoxEdity2.UseAccent = false; } } } } private void mTextBoxEditW4_Enter(object sender, EventArgs e) { if (mTextBoxEditW4.Text == "请输入W4") { mTextBoxEditW4.Text = ""; } } private void mTextBoxEditW4_Leave(object sender, EventArgs e) { if ((string.IsNullOrEmpty(mTextBoxEditW4.Text) || double.Parse(mTextBoxEditW4.Text) == 0) && mTextBoxEditW4.Enabled == true) { mTextBoxEditW4.Text = "请输入W4"; } } private void mTextBoxEditW4_TextChanged(object sender, EventArgs e) { if (mTextBoxEditW4.Enabled) { { if (!double.TryParse(mTextBoxEditW4.Text, out double result) && !string.IsNullOrEmpty(mTextBoxEditW4.Text) && mTextBoxEditW4.Text != "请输入W4") { mTextBoxEditW4.UseAccent = true; mTextBoxEditW4.ShowAssistiveText = true; mTextBoxEditW4.Text = ""; } else { mTextBoxEditW4.ShowAssistiveText = false; mTextBoxEditW4.UseAccent = false; } } } } private void mTextBoxEditR1_Enter(object sender, EventArgs e) { skyLabelR1.Visible = false; mTextBoxEditR1.TrailingIcon = null; } private void mTextBoxEditR1_Leave(object sender, EventArgs e) { if ((string.IsNullOrEmpty(mTextBoxEditR1.Text) || double.Parse(mTextBoxEditR1.Text) == 0) && mTextBoxEditR1.Enabled == true) { mTextBoxEditR1.Text = _paras.R_Left.ToString(); } } private void mTextBoxEditR1_TextChanged(object sender, EventArgs e) { if (mTextBoxEditR1.Enabled) { { if (!double.TryParse(mTextBoxEditR1.Text, out double result) && !string.IsNullOrEmpty(mTextBoxEditR1.Text)) { mTextBoxEditR1.UseAccent = true; mTextBoxEditR1.ShowAssistiveText = true; } else { mTextBoxEditR1.ShowAssistiveText = false; mTextBoxEditR1.UseAccent = false; } } } if (_paras.ShapeType == ViewModel.eSectionShapeType.对称) { mTextBoxEditR2.Text = mTextBoxEditR1.Text; } } private void RBtnW1_CheckedChanged(object sender) { if (RBtnW1.Checked) { mTextBoxEditW1.Enabled = true; mTextBoxEditu.Enabled = true; mTextBoxEditW1.LeadingIcon = GlobalResource.GetLeadingIcon(); mTextBoxEditu.LeadingIcon = GlobalResource.GetLeadingIcon(); mTextBoxEditW1.Text = "请输入"; mTextBoxEditu.Text = "请输入"; } else { mTextBoxEditW1.Enabled = false; mTextBoxEditu.Enabled = false; mTextBoxEditW1.LeadingIcon = null; mTextBoxEditu.LeadingIcon = null; mTextBoxEditW1.Text = "W1"; mTextBoxEditu.Text = "u"; } } private void RBtnW4_CheckedChanged(object sender) { if (RBtnW4.Checked) { mTextBoxEditW4.Enabled = true; mTextBoxEditW4.LeadingIcon = GlobalResource.GetLeadingIcon(); mTextBoxEditW4.Text = "请输入W4"; } else { mTextBoxEditW4.Enabled = false; mTextBoxEditW4.LeadingIcon = null; mTextBoxEditW4.Text = "w4"; } } private void mTextBoxEdity1_EnabledChanged(object sender, EventArgs e) { if (mTextBoxEdity1.Enabled) { mTextBoxEdity1.LeadingIcon = GlobalResource.GetLeadingIcon(); } else { mTextBoxEdity1.LeadingIcon = null; } } private void mTextBoxEdity2_EnabledChanged(object sender, EventArgs e) { if (mTextBoxEdity2.Enabled) { mTextBoxEdity2.LeadingIcon = GlobalResource.GetLeadingIcon(); } else { mTextBoxEdity2.LeadingIcon = null; } } public Action OnRefreshShape = null; private void mBtn更新模型_Click(object sender, EventArgs e) { if (OnRefreshShape == null) return; string error; var paras = GetBindingData(out error); if (paras == null) { MessageBox.Show(error); return; } OnRefreshShape.Invoke(paras); } private void btnNextStep_Click(object sender, EventArgs e) { NextStep(); } } }