革博士V2程序
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

83 lignes
2.5 KiB

  1. using GeBoShi.SysCtrl;
  2. using Models;
  3. using OpenCvSharp;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.ComponentModel;
  7. using System.Data;
  8. using System.Drawing;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. using System.Windows.Forms;
  13. namespace GeBoShi.UI.InageShow
  14. {
  15. public partial class defectLabelImage : UserControl
  16. {
  17. /// <summary>
  18. /// code,name
  19. /// </summary>
  20. public Action<string, string> CodeChangeEvent;
  21. public defectLabelImage()
  22. {
  23. InitializeComponent();
  24. imageBox3.SetIconsVisible(false);
  25. imageBox3.SetStatusVisible(false);
  26. imageBox3.SetStripVisible(false);
  27. init();
  28. }
  29. private void init()
  30. {
  31. var list = SysMgr.Instance.GetDefectItemList().Select(x => new { code = x.Value<string>("code"), name = x.Value<string>("name") }).ToList();
  32. cbLabels.ValueMember = "code";
  33. cbLabels.DisplayMember = "name";
  34. cbLabels.DataSource = list;
  35. }
  36. [Description("忽略"), Category("自定义")]
  37. public bool Checked
  38. {
  39. get { return this.cbSkip.Checked; }
  40. set { this.cbSkip.Checked = value; }
  41. }
  42. [Description("瑕疵"), Category("自定义")]
  43. public string Code
  44. {
  45. get { return this.cbLabels.SelectedValue.ToString(); }
  46. set { this.cbLabels.SelectedValue = value; }
  47. }
  48. [Description("瑕疵位置"), Category("自定义")]
  49. public string DefecLocation
  50. {
  51. set { this.label1.Text = value; }
  52. }
  53. [Description("瑕疵图"), Category("自定义")]
  54. public Mat Image
  55. {
  56. //set { this.ucImageView1.loadImage(value); }
  57. set
  58. {
  59. imageBox3.RefreshWindow(value, ImageToolKits.ImageBox.ImageModeEnum.Zoom);//可以不显示区域
  60. }
  61. }
  62. private void cbLabels_SelectedIndexChanged(object sender, EventArgs e)
  63. {
  64. string code = cbLabels.SelectedValue.ToString();
  65. string name = cbLabels.Text.ToString();
  66. if (this.Tag != null)//修改不起作用
  67. {
  68. var item = (DefectInfo)this.Tag;
  69. item.Code = code;
  70. item.Name = name;
  71. }
  72. //API.OutputDebugString("AAAAAAAAA-" + code + " " + name);
  73. CodeChangeEvent?.Invoke(code, name);
  74. }
  75. }
  76. }