DHDHSoftware/DHSoftware/Views/DetectionLableEdit.cs

98 lines
3.1 KiB
C#

using System.ComponentModel;
using System.Reflection;
using AntdUI;
using DH.Commons.Base;
using DH.Commons.Enums;
using DH.Devices.Vision;
using static System.Windows.Forms.AxHost;
namespace DHSoftware.Views
{
public partial class DetectionLableEdit : UserControl
{
private AntdUI.Window window;
private DetectionLable detectionLable;
public bool submit;
public DetectionLableEdit(AntdUI.Window _window, DetectionLable detection)
{
this.window = _window;
detectionLable = detection;
InitializeComponent();
//设置默认值
InitData();
// 绑定事件
BindEventHandler();
}
private void BindEventHandler()
{
button_ok.Click += Button_ok_Click;
button_cancel.Click += Button_cancel_Click;
}
private void Button_cancel_Click(object sender, EventArgs e)
{
submit = false;
this.Dispose();
}
private void Button_ok_Click(object sender, EventArgs e)
{
iptName.Status = AntdUI.TType.None;
//检查输入内容
if (String.IsNullOrEmpty(iptName.Text))
{
iptName.Status = AntdUI.TType.Error;
AntdUI.Message.warn(window, "参数名称不能为空!", autoClose: 3);
return;
}
detectionLable.LabelName = iptName.Text;
detectionLable.MinScore=Convert.ToDouble(iptMinSource.Text);
detectionLable.MaxScore = Convert.ToDouble(iptMaxSource.Text);
detectionLable.MinArea = Convert.ToDouble(iptMinArea.Text);
detectionLable.MaxArea = Convert.ToDouble(iptMaxArea.Text);
ResultState state = EnumHelper.GetEnumFromDescription<ResultState>(sltResultState.Text);
detectionLable.ResultState = state;
submit = true;
this.Dispose();
}
private void InitData()
{
// 清空原有项
sltResultState.Items.Clear();
foreach (ResultState state in Enum.GetValues(typeof(ResultState)))
{
string description = EnumHelper.GetEnumDescription(state);
sltResultState.Items.Add(description);
}
if (string.IsNullOrEmpty(detectionLable.LabelName))
{
iptName.Text = string.Empty;
iptMinSource.Text = "0.3";
iptMaxSource.Text = "1";
iptMinArea.Text = "0";
iptMaxArea.Text = "99999999";
sltResultState.SelectedIndex = 0;
}
else
{
iptName.Text = detectionLable.LabelName;
iptMinSource.Text = detectionLable.MinScore.ToString();
iptMaxSource.Text = detectionLable.MaxScore.ToString();
iptMinArea.Text = detectionLable.MinArea.ToString();
iptMaxArea.Text = detectionLable.MaxArea.ToString();
sltResultState.Text= EnumHelper.GetEnumDescription(detectionLable.ResultState);
}
}
}
}