using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace DPumpHydr.WinFrmUI.Volute { public partial class ctrlHdrBaseInfo : ParasInfoBaseCtrl { public ctrlHdrBaseInfo() { InitializeComponent(); BuildAllTips(); BuildIcon(); } ViewModel.HdrBaseInfo _paras = null; public void SetBindingData(ViewModel.HdrBaseInfo vm) { this._paras = 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出口直径.Text = vm.D2.ToString(); this.mTextBoxEdit出口宽度.Text = vm.B2.ToString(); this.RBtn双吸泵.Checked = vm.IsSXB; } public ViewModel.HdrBaseInfo GetBindingData(out string error) { if(!Verify(out error)) { return null; } error = null; if(_paras == null) { _paras = new ViewModel.HdrBaseInfo(); } _paras.Q = Convert.ToDouble(this.mTextBoxEdit总流量.Text); _paras.H = Convert.ToDouble(this.mTextBoxEdit扬程.Text); _paras.n = Convert.ToDouble(this.mTextBoxEdit转速.Text); _paras.D2 = Convert.ToDouble(this.mTextBoxEdit出口直径.Text); _paras.B2 = Convert.ToDouble(this.mTextBoxEdit出口宽度.Text); _paras.IsSXB = this.RBtn双吸泵.Checked; return _paras; } public bool Verify(out string error) { error = ""; //if (!RBtn螺旋型.Checked && !RBtn双蜗壳型.Checked && !RBtn环型.Checked && !RBtn准螺旋型.Checked) //{ // error = "请选择压水室类型!"; // return false; // bool isOk = true ; if (string.IsNullOrEmpty(mTextBoxEdit总流量.Text) || mTextBoxEdit总流量.Text == "请输入总流量" || double.Parse(mTextBoxEdit总流量.Text) == 0) { isOk = false; error = "请输入必填项!"; mTextBoxEdit总流量.TrailingIcon = GlobalResource.GetTipTrailingIcon(); skyLabel总流量.Visible = true; } if (string.IsNullOrEmpty(mTextBoxEdit转速.Text) || mTextBoxEdit转速.Text == "请输入转速" || double.Parse(mTextBoxEdit转速.Text) == 0) { isOk = false; error = "请输入必填项!"; mTextBoxEdit转速.TrailingIcon = GlobalResource.GetTipTrailingIcon(); skyLabel转速.Visible = true; } if (string.IsNullOrEmpty(mTextBoxEdit扬程.Text) || mTextBoxEdit扬程.Text == "请输入扬程" || double.Parse(mTextBoxEdit扬程.Text) == 0) { isOk = false; error = "请输入必填项!"; mTextBoxEdit扬程.TrailingIcon = GlobalResource.GetTipTrailingIcon(); skyLabel扬程.Visible = true; } if (string.IsNullOrEmpty(mTextBoxEdit出口直径.Text) || mTextBoxEdit出口直径.Text == "请输入出口直径" || double.Parse(mTextBoxEdit出口直径.Text) == 0) { isOk = false; error = "请输入必填项!"; mTextBoxEdit出口直径.TrailingIcon = GlobalResource.GetTipTrailingIcon(); skyLabel出口直径.Visible = true; } if (string.IsNullOrEmpty(mTextBoxEdit出口宽度.Text) || mTextBoxEdit出口宽度.Text == "请输入出口宽度" || double.Parse(mTextBoxEdit出口宽度.Text) == 0) { isOk = false; error = "请输入必填项!"; mTextBoxEdit出口宽度.TrailingIcon = GlobalResource.GetTipTrailingIcon(); skyLabel出口宽度.Visible = true; } return isOk; } private void BuildIcon() { mTextBoxEdit总流量.LeadingIcon = GlobalResource.GetLeadingIcon(); mTextBoxEdit转速.LeadingIcon = GlobalResource.GetLeadingIcon(); mTextBoxEdit扬程.LeadingIcon = GlobalResource.GetLeadingIcon(); mTextBoxEdit出口直径.LeadingIcon = GlobalResource.GetLeadingIcon(); mTextBoxEdit出口宽度.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出口宽度, "出口宽度"); } 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总流量.UseAccent = true; mTextBoxEdit总流量.ShowAssistiveText = true; mTextBoxEdit总流量.HelperText = "请输入正确总流量!"; mTextBoxEdit总流量.Text = ""; break; } else { mTextBoxEdit总流量.ShowAssistiveText = false; mTextBoxEdit总流量.UseAccent = false; } } } 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转速.UseAccent = true; mTextBoxEdit转速.ShowAssistiveText = true; mTextBoxEdit转速.HelperText = "请输入正确转速!"; mTextBoxEdit转速.Text = ""; break; } else { mTextBoxEdit转速.ShowAssistiveText = false; mTextBoxEdit转速.UseAccent = false; } } } 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扬程.UseAccent = true; mTextBoxEdit扬程.ShowAssistiveText = true; mTextBoxEdit扬程.HelperText = "请输入正确扬程!"; mTextBoxEdit扬程.Text = ""; break; } else { mTextBoxEdit扬程.ShowAssistiveText = false; mTextBoxEdit扬程.UseAccent = false; } } } 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出口直径.UseAccent = true; mTextBoxEdit出口直径.ShowAssistiveText = true; mTextBoxEdit出口直径.HelperText = "请输入正确出口直径!"; mTextBoxEdit出口直径.Text = ""; break; } else { mTextBoxEdit出口直径.ShowAssistiveText = false; mTextBoxEdit出口直径.UseAccent = false; } } } 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出口宽度.UseAccent = true; mTextBoxEdit出口宽度.ShowAssistiveText = true; mTextBoxEdit出口宽度.HelperText = "请输正确出口宽度!"; mTextBoxEdit出口宽度.Text = ""; break; } else { mTextBoxEdit出口宽度.ShowAssistiveText = false; mTextBoxEdit出口宽度.UseAccent = false; } } } private void mTextBoxEdit总流量_Leave(object sender, EventArgs e) { if (string.IsNullOrEmpty(mTextBoxEdit总流量.Text) || double.Parse(mTextBoxEdit总流量.Text) == 0) { mTextBoxEdit总流量.Text = _paras.Q.ToString(); } } private void mTextBoxEdit总流量_Enter(object sender, EventArgs e) { skyLabel总流量.Visible = false; mTextBoxEdit总流量.TrailingIcon = null; } private void mTextBoxEdit转速_Leave(object sender, EventArgs e) { if (string.IsNullOrEmpty(mTextBoxEdit转速.Text) || double.Parse(mTextBoxEdit转速.Text) == 0) { mTextBoxEdit转速.Text = _paras.n.ToString(); } } private void mTextBoxEdit转速_Enter(object sender, EventArgs e) { skyLabel转速.Visible = false; mTextBoxEdit转速.TrailingIcon = null; } private void mTextBoxEdit扬程_Leave(object sender, EventArgs e) { if (string.IsNullOrEmpty(mTextBoxEdit扬程.Text) || double.Parse(mTextBoxEdit扬程.Text) == 0) { mTextBoxEdit扬程.Text = _paras.H.ToString(); } } private void mTextBoxEdit扬程_Enter(object sender, EventArgs e) { skyLabel扬程.Visible = false; mTextBoxEdit扬程.TrailingIcon = null; } private void mTextBoxEdit出口直径D_Leave(object sender, EventArgs e) { if (string.IsNullOrEmpty(mTextBoxEdit出口直径.Text) || double.Parse(mTextBoxEdit出口直径.Text) == 0) { mTextBoxEdit出口直径.Text = _paras.D2.ToString(); } } private void mTextBoxEdit出口直径_Enter(object sender, EventArgs e) { skyLabel出口直径.Visible = false; mTextBoxEdit出口直径.TrailingIcon = null; } private void mTextBoxEdit出口宽度_Leave(object sender, EventArgs e) { if (string.IsNullOrEmpty(mTextBoxEdit出口宽度.Text) || double.Parse(mTextBoxEdit出口宽度.Text) == 0) { mTextBoxEdit出口宽度.Text = _paras.B2.ToString(); } } private void mTextBoxEdit出口宽度_Enter(object sender, EventArgs e) { skyLabel出口宽度.Visible = false; mTextBoxEdit出口宽度.TrailingIcon = null; } } }