using DPumpHydr.WinFrmUI.RLT.Controls;
|
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 ctrlGeomBaseInfo : UserControl
|
{
|
public ctrlGeomBaseInfo()
|
{
|
InitializeComponent();
|
Tips();
|
addiamge();
|
}
|
private string ResourcesPath = @"Data\MainForm\Icons";
|
public bool Verify(out string error)
|
{
|
error = "";
|
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 == "请输入隔舌安放角")
|
{
|
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;
|
}
|
|
return false;
|
}
|
return true;
|
}
|
|
private void addiamge()
|
{
|
//输入框前缀图片
|
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);
|
}
|
|
private void Tips()
|
{
|
metroToolTip第二步提示.SetToolTip(this.mTextBoxEdit速度系数, "K3 解释");
|
metroToolTip第二步提示.SetToolTip(this.mTextBoxEdit基圆直径, "D3 解释");
|
metroToolTip第二步提示.SetToolTip(this.mTextBoxEdit基圆宽度, "b3 解释");
|
metroToolTip第二步提示.SetToolTip(this.metroTrackBar基圆宽度, "b3 解释");
|
metroToolTip第二步提示.SetToolTip(this.mTextBoxEdit隔舌安放角, "φ0 解释");
|
metroToolTip第二步提示.SetToolTip(this.metroTrackBar隔舌安放角, "φ0 解释");
|
}
|
|
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;
|
}
|
}
|
}
|
|
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基圆直径_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;
|
}
|
}
|
}
|
|
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基圆宽度_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;
|
}
|
}
|
}
|
|
private void mTextBoxEdit基圆宽度_Leave(object sender, EventArgs e)
|
{
|
if (string.IsNullOrEmpty(mTextBoxEdit基圆宽度.Text))
|
{
|
mTextBoxEdit基圆宽度.Text = "请输入基圆宽度";
|
}
|
else
|
{
|
if (mTextBoxEdit基圆宽度.Text != "请输入基圆宽度" && (Convert.ToDouble(mTextBoxEdit基圆宽度.Text) > Convert.ToDouble(metroTrackBar基圆宽度.Maximum) / 100 || Convert.ToDouble(mTextBoxEdit基圆宽度.Text) < Convert.ToDouble(metroTrackBar基圆宽度.Minimum) / 100))
|
{
|
mTextBoxEdit基圆宽度.Text = "请输入基圆宽度";
|
MessageBox.Show("请重新输入基圆宽度!请参考给出的范围值!");
|
}
|
}
|
|
}
|
|
private void mTextBoxEdit基圆宽度_Enter(object sender, EventArgs e)
|
{
|
skyLabel基圆宽度.Visible = false;
|
mTextBoxEdit基圆宽度.TrailingIcon = null;
|
if (mTextBoxEdit基圆宽度.Text == "请输入基圆宽度")
|
{
|
mTextBoxEdit基圆宽度.Text = "";
|
}
|
}
|
|
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;
|
}
|
}
|
}
|
|
private void mTextBoxEdit隔舌安放角_Leave(object sender, EventArgs e)
|
{
|
if (string.IsNullOrEmpty(mTextBoxEdit隔舌安放角.Text))
|
{
|
mTextBoxEdit隔舌安放角.Text = "请输入隔舌安放角";
|
}
|
else
|
{
|
if (mTextBoxEdit隔舌安放角.Text != "请输入隔舌安放角" && (Convert.ToDouble(mTextBoxEdit隔舌安放角.Text) > Convert.ToDouble(metroTrackBar隔舌安放角.Maximum) / 100 || Convert.ToDouble(mTextBoxEdit隔舌安放角.Text) < Convert.ToDouble(metroTrackBar隔舌安放角.Minimum) / 100))
|
{
|
mTextBoxEdit隔舌安放角.Text = "请输入隔舌安放角";
|
MessageBox.Show("请重新输入隔舌安放角!请参考给出的范围值!");
|
}
|
}
|
|
}
|
|
private void mTextBoxEdit隔舌安放角_Enter(object sender, EventArgs e)
|
{
|
skyLabel隔舌安放角.Visible = false;
|
mTextBoxEdit隔舌安放角.TrailingIcon = null;
|
if (mTextBoxEdit隔舌安放角.Text == "请输入隔舌安放角")
|
{
|
mTextBoxEdit隔舌安放角.Text = "";
|
}
|
}
|
|
private void metroTrackBar基圆宽度_Scroll(object sender)
|
{
|
double breadth = Convert.ToDouble(metroTrackBar基圆宽度.Value) / 100;
|
mTextBoxEdit基圆宽度.Text = breadth.ToString();
|
mTextBoxEdit基圆宽度.TrailingIcon = null;
|
}
|
|
private void metroTrackBar隔舌安放角_Scroll(object sender)
|
{
|
double angle = Convert.ToDouble(metroTrackBar隔舌安放角.Value) / 100;
|
mTextBoxEdit隔舌安放角.Text = angle.ToString();
|
mTextBoxEdit隔舌安放角.TrailingIcon = null;
|
}
|
|
/// <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;
|
}
|
}
|
}
|