using GeBoShi.SysCtrl;
using Models;
using OpenCvSharp;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace GeBoShi.UI.InageShow
{
public partial class defectLabelImage : UserControl
{
///
/// code,name
///
public Action CodeChangeEvent;
public defectLabelImage()
{
InitializeComponent();
imageBox3.SetIconsVisible(false);
imageBox3.SetStatusVisible(false);
imageBox3.SetStripVisible(false);
init();
}
private void init()
{
var list = SysMgr.Instance.GetDefectItemList().Select(x => new { code = x.Value("code"), name = x.Value("name") }).ToList();
cbLabels.ValueMember = "code";
cbLabels.DisplayMember = "name";
cbLabels.DataSource = list;
}
[Description("忽略"), Category("自定义")]
public bool Checked
{
get { return this.cbSkip.Checked; }
set { this.cbSkip.Checked = value; }
}
[Description("瑕疵"), Category("自定义")]
public string Code
{
get { return this.cbLabels.SelectedValue.ToString(); }
set { this.cbLabels.SelectedValue = value; }
}
[Description("瑕疵位置"), Category("自定义")]
public string DefecLocation
{
set { this.label1.Text = value; }
}
[Description("瑕疵图"), Category("自定义")]
public Mat Image
{
//set { this.ucImageView1.loadImage(value); }
set
{
imageBox3.RefreshWindow(value, ImageToolKits.ImageBox.ImageModeEnum.Zoom);//可以不显示区域
}
}
private void cbLabels_SelectedIndexChanged(object sender, EventArgs e)
{
string code = cbLabels.SelectedValue.ToString();
string name = cbLabels.Text.ToString();
if (this.Tag != null)//修改不起作用
{
var item = (DefectInfo)this.Tag;
item.Code = code;
item.Name = name;
}
//API.OutputDebugString("AAAAAAAAA-" + code + " " + name);
CodeChangeEvent?.Invoke(code, name);
}
}
}