版本-v1.2.0 一道试用

This commit is contained in:
CPL 2023-11-08 13:52:00 +08:00
parent 2a841bbfa9
commit 8e78cdd0ba
22 changed files with 3117 additions and 2734 deletions

View File

@ -189,7 +189,7 @@ namespace ProductionControl.Device
{
if (taskList.Count < 1 || _onnxSession == null)
{
Thread.Sleep(0);
Thread.Sleep(5);
continue;
}
@ -223,6 +223,7 @@ namespace ProductionControl.Device
lock (taskOperationList)
taskOperationList.Add(task);
}
Thread.Sleep(5);
}
catch (Exception ex)
{
@ -240,7 +241,7 @@ namespace ProductionControl.Device
{
if (taskOperationList.Count < 1)
{
Thread.Sleep(0);
Thread.Sleep(5);
continue;
}
@ -295,6 +296,7 @@ namespace ProductionControl.Device
callback(task);
}
}
Thread.Sleep(5);
}
catch (Exception ex)
{

View File

@ -384,7 +384,7 @@ namespace ProductionControl.Device
if ((!isContinuousMode && this.scanNum < 1) ||
(isContinuousMode && (this.previewHwnd == IntPtr.Zero || !isOpenWin)))
{
Thread.Sleep(500);
Thread.Sleep(50);
continue;
}

View File

@ -260,6 +260,7 @@ namespace ProductionControl.Device
callback(task);
step = 102;
}
Thread.Sleep(5);
}
catch (Exception ex)
{

View File

@ -6,6 +6,7 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using OpenCvSharp;
using ProductionControl.Device;
using ProductionControl.UI;
using ProductionControl.Utils;
using SqlSugar;
using System;
@ -815,7 +816,7 @@ namespace ProductionControl
warning(WarningEnum.Low);//终止
return stepIndex;
}
if (!endEvent.WaitOne(5000))
if (!endEvent.WaitOne(10000))
{
devContainer.devScannerGentl.ScanEvent = null;
AddTextEvent($"{stepIndex + 1}-{processName}", $"相机采集照片超时!", WarningEnum.Low);
@ -875,7 +876,7 @@ namespace ProductionControl
return stepIndex;
}
if (!endEventCC.WaitOne(5000))
if (!endEventCC.WaitOne(10000))
{
devContainer.devScannerCC.ScanEventPath = null;
AddTextEvent($"{stepIndex + 1}-{processName}", $"相机采集照片超时!", WarningEnum.Low);
@ -909,10 +910,36 @@ namespace ProductionControl
//2023-10-27
bool useMap = false;
List<double> getPosList = new List<double>();
try
{
getPosList = processParam.Value<JArray>("GetPointList").ToObject<List<double>>();
useMap = processParam.Value<bool>("UseMapPoints");
if (useMap) {
var list = model.GetPointList.Split(',');
List<double> dList = new List<double>();
if (list.Length < 28)
{
for (int i = 0; i < 28; i++)
{
dList.Add(0);
}
}
else
{
for (int i = 0; i < list.Length; i++)
{
dList.Add(double.Parse(list[i]));
}
}
getPosList = dList;
}
else
{
for (int i = 0; i < 28; i++)
getPosList.Add(0);
}
//getPosList = processParam.Value<JArray>("GetPointList").ToObject<List<double>>();
}
catch
{
@ -941,9 +968,13 @@ namespace ProductionControl
if ((sizeIndex == 333 || sizeIndex == 777) && gbxBmpPath == "")
AddTextEvent($"{stepIndex + 1}-{processName}", $"尺寸检测index:{sizeIndex},图纸不存在!", WarningEnum.Low);
//2023-10-27
if ((getPosList != null) && (getPosList.Count() != 28))
AddTextEvent($"{stepIndex + 1}-{processName}", $"尺寸检测index:{sizeIndex},图纸读点不存在!", WarningEnum.Low);
AddTextEvent($"{stepIndex + 1}-{processName}", $"开始图纸读点index:{sizeIndex},PT1:{getPosArray[0]},PPT2:{getPosArray[2]},PPT3:{getPosArray[4]},PPT4:{getPosArray[6]},PPT5:{getPosArray[8]}...");
//if ((sizeIndex == 3333)&&(getPosList != null) && (getPosList.Count() != 28))
// AddTextEvent($"{stepIndex + 1}-{processName}", $"尺寸检测index:{sizeIndex},图纸读点不存在!", WarningEnum.Low);
if (useMap&&(sizeIndex == 3333) && (getPosArray != null) && (getPosArray.Count() == 28) && (getPosArray[0] != 0))
AddTextEvent($"{stepIndex + 1}-{processName}", $"开始图纸读点index:{sizeIndex},PT1:{getPosArray[0]},PT2:{getPosArray[2]},PT3:{getPosArray[4]},PT4:{getPosArray[6]},PT5:{getPosArray[8]}," +
$"线宽1:[{getPosArray[10]},{getPosArray[11]}],线宽2:[{getPosArray[12]},{getPosArray[13]}],线宽3:[{getPosArray[14]},{getPosArray[15]}]," +
$"线宽4:[{getPosArray[16]},{getPosArray[17]}],线宽5:[{getPosArray[18]},{getPosArray[19]}],线宽6:[{getPosArray[20]},{getPosArray[21]}]," +
$"线宽7:[{getPosArray[22]},{getPosArray[23]}],线宽8:[{getPosArray[24]},{getPosArray[25]}],线宽9:[{getPosArray[26]},{getPosArray[27]}]");
//需要偏移校正index=0时不能异步 //10,20,30... 
endEvent = new AutoResetEvent(false);
devContainer.libSize.add(new SizeTask()
@ -1549,6 +1580,9 @@ namespace ProductionControl
order.DefectCount = (int)this.gboxDefectList.Tag;
order.Succeed = true;
order.ModifyUserCode = order.CreateUserCode = Config.loginUser.Code;
order.Abnormalities = "";//无异常
order.RepairCode = "";//无修复人员
//如SN检测已存在先删除
var oldSNOrder= svcOrder.GetFirst(m=> m.SN==order.SN);
if(oldSNOrder!=null)
@ -2291,6 +2325,9 @@ namespace ProductionControl
}
private void tsbtnOpenDev_Click(object sender, EventArgs e)
{
//FrmGetPosByPic frr = new FrmGetPosByPic(new SizeLibProp());
//frr.ShowDialog();
Config.LoadAllConfig();
//设置程序最小/大线程池
// Get the current settings.

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,5 @@
using OpenCvSharp;
using ProductionControl.UI;
using ProductionControl.UIExtend;
using ProductionControl.Utils;
using System;
@ -13,6 +14,7 @@ using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Web.Configuration;
using System.Windows.Forms;
namespace ProductionControl
@ -22,11 +24,14 @@ namespace ProductionControl
Service.ClassesService svcClasses = new Service.ClassesService();
Service.ProductService service = new Service.ProductService();
Models.Product model = new Models.Product();
string MapPath = "";
public FrmProductInfo(Models.Product m=null)
{
InitializeComponent();
this.dgvBatchList.AutoGenerateColumns = false;
checkCustomerVer();
//this.cbMarkType.SelectedIndex = -1;
if (m!=null)
{
model = m;
@ -64,12 +69,22 @@ namespace ProductionControl
this.tsbtnAddFile.Enabled = true;
this.tsbtnNewBatchId.Enabled = true;
this.dgvBatchList.DataSource = new BindingSource(m.BatchHistoryList, null);
//2023-11-2 mark
this.cbMarkType.SelectedIndex = m.MarkType;
this.numMarkSize.Value = (decimal)m.MarkSize;
Models.Attachment attachmentFile = model.AttachmentList.FirstOrDefault(x => x.Type == 0);
if (attachmentFile!=null)
{
this.btnOpenFile.Text = attachmentFile.Name;
this.btnOpenFile.Visible = true;
this.btnOpenFile.Visible = true;
//为兼容老版本,发现图纸图片地址为空,检索图片地址
if (string.IsNullOrEmpty(model.MapPath))
{
string targFilePath = Application.StartupPath + $"\\Attachment\\product\\{model.Id}\\";
targFilePath += attachmentFile.Name;
model.MapPath = targFilePath.Substring(0, targFilePath.Length - 4) + ".bmp";
}
}
}
@ -77,7 +92,8 @@ namespace ProductionControl
initDataView();
}
private void FrmProductInfo_Load(object sender, EventArgs e)
{
{
//this.cbMarkType.SelectedIndex = -1;
}
private void checkCustomerVer()
{
@ -130,7 +146,7 @@ namespace ProductionControl
cmbDefectModelFile.Items.Add(onlyName);
if (!string.IsNullOrWhiteSpace(model.DefectModelFile) && onlyName.ToLower()== model.DefectModelFile.ToLower())
this.cmbDefectModelFile.SelectedItem = model.DefectModelFile;
}
}
}
private void btnSave_Click(object sender, EventArgs e)
{
@ -151,6 +167,9 @@ namespace ProductionControl
throw new Exception("请正确填写产品目数!");
if (this.cmbDefectModelFile.SelectedIndex < 0)
throw new Exception("请选择检测模型文件!");
if (this.cbMarkType.SelectedIndex < 0)
throw new Exception("请选择Mark");
//if (szBatchId == "")// || liTargetCount < 1
// throw new Exception("请填写批次号");// 和批次目标数量!");
if (szHeightBaseDec != "")
@ -188,6 +207,13 @@ namespace ProductionControl
model.QualifiedCriterionList = new List<Models.QualifiedCriterion>();
else
model.QualifiedCriterionList.Clear();
if (string.IsNullOrEmpty(model.MapPath))
{
model.MapPath = "";
model.GetPointList = "";
}
foreach (DefectCountOfSizeControl defectControl in this.flpQualifiedPannel.Controls)
{
if (defectControl.Checked)
@ -203,7 +229,12 @@ namespace ProductionControl
});
}
}
model.ModifyUserCode = Config.loginUser.Code;
model.ModifyUserCode = Config.loginUser.Code;
//2023-11-2 mark
model.MarkType = this.cbMarkType.SelectedIndex;
model.MarkSize = (double)this.numMarkSize.Value;
bool result;
if (model.Id == 0)
{
@ -267,7 +298,9 @@ namespace ProductionControl
private void btnAddFile_Click(object sender, EventArgs e)
{
try
{
{
if (this.cbMarkType.SelectedIndex < 0)
throw new Exception("请选择Mark");
//.dwg /.dxf /.dws /.dwt
string filePath = FileUtil.selectFile("gbx,gbr文件|*.gb?");
if (string.IsNullOrWhiteSpace(filePath))
@ -291,11 +324,38 @@ namespace ProductionControl
throw new Exception("移动文件失败!");
//后台线程转BMP与JPG
string tempClass = this.cmbClasses.Text;
int tempIndex = this.cbMarkType.SelectedIndex;
double tempValue = (double)this.numMarkSize.Value;
Task.Run(() =>
{
Yolo5.Yolo_Class yolo = new Yolo5.Yolo_Class();
string bmpPath = targFilePath.Substring(0, targFilePath.Length - 4) + ".bmp";
yolo.gerber2image(targFilePath, bmpPath);
string bmpPath = targFilePath.Substring(0, targFilePath.Length - 4) + ".bmp";
//2023-11-3 mark
//yolo.gerber2image(targFilePath, bmpPath);
double[] markParam = new double[4];
if(tempClass.Contains("乳剂"))
markParam[0] = 2;
else if (tempClass.Contains("PI"))
markParam[0] = 1;
else
markParam[0] = 0;
if (tempIndex == 0)
{
//默认情况 实心圆0.5mm
markParam[1] = 2;
markParam[2] = 0.5;
markParam[3] = 1;
}
else
{
markParam[1] = tempIndex - 1;
markParam[2] = tempValue;
markParam[3] = tempIndex == 1 ? 0 : 1;
}
yolo.gerber2image(targFilePath, bmpPath, markParam);
//换背景JPG
Mat mat = Cv2.ImRead(bmpPath);
Cv2.CvtColor(mat, mat, ColorConversionCodes.RGB2GRAY);//转灰度图
@ -309,6 +369,7 @@ namespace ProductionControl
mat.Set<byte>(i, j, 255);
}
}
model.MapPath = bmpPath;
//灰转彩
//Cv2.CvtColor(mat, mat, ColorConversionCodes.GRAY2RGB);
//for (int i = 0; i < mat.Height; i++)
@ -320,9 +381,10 @@ namespace ProductionControl
// }
//}
bmpPath = targFilePath.Substring(0, targFilePath.Length - 4) + ".jpg";
//model.MapPath = bmpPath;
OpenCvSharp.Extensions.BitmapConverter.ToBitmap(mat).Save(bmpPath, ImageFormat.Jpeg);
});//不能加.Start();
Models.Attachment attachmentFile = model.AttachmentList.FirstOrDefault(m => m.Type == 0);
if (attachmentFile!=null)
{
@ -367,6 +429,40 @@ namespace ProductionControl
string filePath = Application.StartupPath + $"\\Attachment\\product\\{model.Id}\\" + attachmentFile.NameTimestamp + attachmentFile.ExtendName;
if(File.Exists(filePath))
Process.Start(filePath);
}
}
private void tbtnGetPos_Click(object sender, EventArgs e)
{
if ((model.MapPath == null)||(string.IsNullOrEmpty(model.MapPath)))
{
MessageBox.Show("还未上传图纸!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
var list = model.GetPointList.Split(',');
List<double> dList = new List<double>();
if (list.Length < 28)
{
for (int i = 0; i < 28; i++)
{
dList.Add(0);
}
}
else
{
for (int i = 0; i < list.Length; i++)
{
dList.Add(double.Parse(list[i]));
}
}
FrmGetPosByPic frm = new FrmGetPosByPic(model.MapPath, dList.ToArray());
frm.ShowDialog();
model.GetPointList = string.Join(",", frm.GetPoints()); ;
model.MapPath = frm.GetMapPath();
if (!service.UpdateNav(model))
throw new Exception("保存文件失败!");
model = service.GetModelNav(model.Code);
}
}
}

View File

@ -1,198 +1,228 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>166, 17</value>
</metadata>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="tsbtnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAIfSURBVFhH7ZdPS9xAGMZfKUiFiuAXKFXqRfBmi8U/F1Hr
wdseRGxqZiaZN60H8Rt4K+2l0g/QVrEFwS/gTfRoFTz02Jt4rhQrpdV3htlspju7m8kGQfCBH9mdmffJ
s5M32V24k0MdECXjxExhuJwGngwaPw9VKp3A4l0QeFUKHNeMc04JHK4zaZ9J455DXI6lhQx/0Cf4DCLe
8Ed+ghC/a5+XeApR1GPO0EJRMpoG4PjRjBYTl29SLyG3zWgLZQMIuWVGi0nI9ZqX9gvMTBNlAzD8Ykbz
i+ES7VykX3N8bwWYx18QJg/1XEO1E2BlpYvq/ulaJY7vUq8qYXxAMx163ql2AoRhN9X9JC70ey7fpl4W
clXPO2X1AG6a0XxKkgcwO/dX1ypZTWixo+edsgM0WdhA+rY1zSvwQ8arRtOdtQOo7XxmZvzEcIhqzzJe
NTwCKFRTnRDf6AFz1Bpax/EYguCPqa/HM0D53M4AQXBeiOpdkcUrgDIR8jkw1luIOH5MPvuWp98OUGO1
K4GJ5el5CS6pq5dBJE+9YfET8ptJv5ar3M4mLBPPABd0CV4AfzWgG0od86LWR9EIMHloed58E0q0PL13
QMhFEKIflrBPH/9Hjbvgrx9RPf3I1Y/onAGyP0pt1HeCH66HkEZ+NWdzSN06zqIyaRYgCO7Tor36opJY
WPhNuzxtztZAlco9WjxB/eD+21UUgVO6L+5kCeAaOZxlqQnAQFgAAAAASUVORK5CYII=
</value>
</data>
<data name="tsbtnAddFile.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHlSURBVFhH7dfJK0VhGAbwYwhJSSmlLJSFhbKwsFAWykKJ
/4FrnufZNY9/gLWNrMzzPF/z5VqgpJRSVx2EDOFxP13x3fte9ZKz4a1n/Xu+77zn1FH+x3baTHH6NlMs
Wndj0LIbjZadKDQbI9FkjEDjdjgatsJQvxWKus0Q1G4Eo2YjCPr1QFSvBaBqzR+Vq36oMPii3OCDshVv
lC57oXTJEyVLHihecNNbGXraTfH4NXzRHUULbiicd4WVk+dXT/4JL5hzQf6Ms/1NaIbPOiPPEiv7MVri
uTNO9gW0xHOnqQJMfF8dx/vsq6MsPGdKsS/APfkLnqVw8OxJogD32l/wJIWDZ00QBbjP/BkPUjh45jhR
gLtwT7iTwsEzxogCHFws3CNupHDw9FGigCN8T+21XPDVt2I87ybxtBGigKOT30P9USg8dZgo4Oja72D+
USg8dYgo4OiZ76hduMXZt7Jp7iTxlEGiwFcLR31kbnAq5auFs8WTqQIcXGz7NU6kcPDkAaIABxev2hWO
pXDwpH6iAAcX7/kljqRwcB1VgIOLj8wFDqVwcF0fUYCDi4VbPe+wwAdvMZg7WHhiL1GAg3MXzhanC2iI
kwW0xMkC4qdBKzyhR6F/ULTARawcPeKnQfOT/+FRlFcvY36aacjOgwAAAABJRU5ErkJggg==
</value>
</data>
<data name="tsbtnNewBatchId.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHlSURBVFhH7dfJK0VhGAbwYwhJSSmlLJSFhbKwsFAWykKJ
/4FrnufZNY9/gLWNrMzzPF/z5VqgpJRSVx2EDOFxP13x3fte9ZKz4a1n/Xu+77zn1FH+x3baTHH6NlMs
Wndj0LIbjZadKDQbI9FkjEDjdjgatsJQvxWKus0Q1G4Eo2YjCPr1QFSvBaBqzR+Vq36oMPii3OCDshVv
lC57oXTJEyVLHihecNNbGXraTfH4NXzRHUULbiicd4WVk+dXT/4JL5hzQf6Ms/1NaIbPOiPPEiv7MVri
uTNO9gW0xHOnqQJMfF8dx/vsq6MsPGdKsS/APfkLnqVw8OxJogD32l/wJIWDZ00QBbjP/BkPUjh45jhR
gLtwT7iTwsEzxogCHFws3CNupHDw9FGigCN8T+21XPDVt2I87ybxtBGigKOT30P9USg8dZgo4Oja72D+
USg8dYgo4OiZ76hduMXZt7Jp7iTxlEGiwFcLR31kbnAq5auFs8WTqQIcXGz7NU6kcPDkAaIABxev2hWO
pXDwpH6iAAcX7/kljqRwcB1VgIOLj8wFDqVwcF0fUYCDi4VbPe+wwAdvMZg7WHhiL1GAg3MXzhanC2iI
kwW0xMkC4qdBKzyhR6F/ULTARawcPeKnQfOT/+FRlFcvY36aacjOgwAAAABJRU5ErkJggg==
</value>
</data>
<data name="tsbtnClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAJQSURBVFhHxZfNctNAEIQFb0UuYEu8DFwoiOwrVPGbFPAE
vKhjV9huzSiz69aubA501XfwuGdms7ORtV3S8/9M/qHQs0T8/l9ArVKIzwbqMA4vj2P/5rDb3FgIcs+1
UIfb/sVx//rtw4f+lYUoGLi609j/ftwPj85p139B3FQWXQuFWnnt4Y99NZmwqmiYjfvhK12TyuItKNRQ
tR/G7Qbf03jcbd8pE7hyJ6jyL4+gJzw0Yz7K5JxuL9oJCjmqloOe8CFhOgOV1YLTuP0Gn6ls6lDwqhpO
3NU8cWFeTkr8blYoNn6qkTwq1ynOlSxQ3wm9CKrZ/Pw8zQXyQq2dGIcfZp2FmPI6C/9RWfM5CDXnOPb3
ZsUz5F55nMr5yT5EqPY8+49AfecsjGzuUwYiVGsRNRrN2UMFI1RrvorinKjaQAZLqLTV1TlH4LU0SNV0
ZFBBteYN4DE7pGpFZFBBpZl+Uk0j8JgdUrUiMlhCpZ/QX6qhAl5Lg1RNRwYj1CXNnZWLkEGHSjPNXlQu
AblWBpI9VBBQreaYd+tcNBZxFmAQSv/HP1VBJ25xa0SoZVYo6xU/MAClVdef7fl8qeYi9LNBNN8Nd6qA
s7ClVHtkw51ZIeYVBVo/qfV5Qs1FpB5mpZA4vZLt+88qwUmJS3OMUPCqGg56mXVKOrzf3CijkxLWPtsB
hRxVy0FP+JhQfy0/m9saqNp5yl7LKxeTNT+pS1BL58qvaE/GdF2KhvSaNc8pqSy+Fgq1strF1Ww24rqE
C6TPxxQLXgOFmryc2pWs67ruL9BDjecFstIGAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="colBatchId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colTargetCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCompleteCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCreateTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>166, 17</value>
</metadata>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="tsbtnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIgSURBVFhH7ZdPaxNBGMbfIBQFpeAXEBV7KfTWFsU/FzER
es2hlHabnZndeVc9BL+BN2kvLX4Aa4sWCn4Bb9Ieq4Ueeuyt9NwiUcQ/7wyTzY6ZJDubRQj0gR+bzMz7
7JPZdzcJXMihCkTJQ6JWGC6rwJNJ4+ehen0MWPwJBP4pBY6vjHNOCZzuMhmex8Y9h7h8kBYyPKZP8A5E
vOmP3IAQj7TPMp5AFI2bMwxQlNxPA3B8a0aLicvXqZeQO2Z0gLIBhHxvRotJyPWOl/YLzEwfZQMw/GBG
84thg3Yu0q85rlkB5vEbhMkNPddTwwRoNq9Q3W9dq8RxNfVqE8Z7NFPR804NEyAMr1HdGdHS77lcSb0s
5Es975TVA7hlRvMpSa5Cbe6XrlWymtDio553yg7QZ2EP6dvWNK/ANxmvDn131g6gtvOemfETwymqPc14
dfAIoFBNdUh8oQfM18HQOo4HEAQ/TX03ngHKZzQDBMF5Idp3RRavAMpEyKfA2PVCxPEd8tm1PP12gBpr
WAlMLE/PS/CDuvoFiGTWGxbPkF8t/VpuM5pNWCaeAVp0CZaAP5vQDaWOeVHro+guMLlvef7/JpRoeXrv
gJCLIMRtaOAtffwXNe6CP79J9fQjVz+icwbI/ii1Ud8JfrgeQhq5bc7mkLp1nEVl0i9AEFymRZ+7i0pi
YeE77XLVnK2H6vVLtPgR9YP7b1dRBD7RfXEhSwB/AekDZZ13nHnPAAAAAElFTkSuQmCC
</value>
</data>
<data name="tsbtnAddFile.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHlSURBVFhH7dfJK0VhGAbwYwhJSSmlLJSFhbKwsFAWykKJ
/4FrnufZNY9/gLWNrMzzPF/z5VqgpJRSVx2EDOFxP13x3fte9ZKz4a1n/Xu+77zn1FH+x3baTHH6NlMs
Wndj0LIbjZadKDQbI9FkjEDjdjgatsJQvxWKus0Q1G4Eo2YjCPr1QFSvBaBqzR+Vq36oMPii3OCDshVv
lC57oXTJEyVLHihecNNbGXraTfH4NXzRHUULbiicd4WVk+dXT/4JL5hzQf6Ms/1NaIbPOiPPEiv7MVri
uTNO9gW0xHOnqQJMfF8dx/vsq6MsPGdKsS/APfkLnqVw8OxJogD32l/wJIWDZ00QBbjP/BkPUjh45jhR
gLtwT7iTwsEzxogCHFws3CNupHDw9FGigCN8T+21XPDVt2I87ybxtBGigKOT30P9USg8dZgo4Oja72D+
USg8dYgo4OiZ76hduMXZt7Jp7iTxlEGiwFcLR31kbnAq5auFs8WTqQIcXGz7NU6kcPDkAaIABxev2hWO
pXDwpH6iAAcX7/kljqRwcB1VgIOLj8wFDqVwcF0fUYCDi4VbPe+wwAdvMZg7WHhiL1GAg3MXzhanC2iI
kwW0xMkC4qdBKzyhR6F/ULTARawcPeKnQfOT/+FRlFcvY36aacjOgwAAAABJRU5ErkJggg==
</value>
</data>
<data name="tsbtnNewBatchId.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHlSURBVFhH7dfJK0VhGAbwYwhJSSmlLJSFhbKwsFAWykKJ
/4FrnufZNY9/gLWNrMzzPF/z5VqgpJRSVx2EDOFxP13x3fte9ZKz4a1n/Xu+77zn1FH+x3baTHH6NlMs
Wndj0LIbjZadKDQbI9FkjEDjdjgatsJQvxWKus0Q1G4Eo2YjCPr1QFSvBaBqzR+Vq36oMPii3OCDshVv
lC57oXTJEyVLHihecNNbGXraTfH4NXzRHUULbiicd4WVk+dXT/4JL5hzQf6Ms/1NaIbPOiPPEiv7MVri
uTNO9gW0xHOnqQJMfF8dx/vsq6MsPGdKsS/APfkLnqVw8OxJogD32l/wJIWDZ00QBbjP/BkPUjh45jhR
gLtwT7iTwsEzxogCHFws3CNupHDw9FGigCN8T+21XPDVt2I87ybxtBGigKOT30P9USg8dZgo4Oja72D+
USg8dYgo4OiZ76hduMXZt7Jp7iTxlEGiwFcLR31kbnAq5auFs8WTqQIcXGz7NU6kcPDkAaIABxev2hWO
pXDwpH6iAAcX7/kljqRwcB1VgIOLj8wFDqVwcF0fUYCDi4VbPe+wwAdvMZg7WHhiL1GAg3MXzhanC2iI
kwW0xMkC4qdBKzyhR6F/ULTARawcPeKnQfOT/+FRlFcvY36aacjOgwAAAABJRU5ErkJggg==
</value>
</data>
<data name="tbtnGetPos.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAATeSURBVFhHxVZJSGRXFBWcly7cKCK4cOFCFEGQtIiKG4Nu
FAVbsgmCihOkRRcdcaiKEIQmAUXBRJCItp1EhJgOZhHaMtEKiogjpbZDiOIQ24izpSfvvPrv++tbJYpC
Lhzum/5/55173/3fB/+z6QSefQ4kv3T5Z8Inq75pTHoNcpzrjGsVDGN3mU6Aiz/+QsCqeRMyVdswzzE1
bvYK9ybAhXz586+AQgGzN48Zx93mv76ZJxke7C5zCwEZ88GKb4FKA8z9u8C1BAnxQPcmwIVkzAf5gqbv
AYsBTW9cY9ILyDE1p6CNkwiVeJACTCQqYCTQMQy0/6p5Ad2LMXrV5ria43NSAUGA73sQAaUAT6AI/Dgu
YAd+0LwE2wIcc/ztRM9vh3htO5PrdQXEe/g+hvYuc09CkwI8ETccmQdsAvQjC1pf8zT79Dpa3zjQ+vO5
G4EHKWBOQklAyMuTcrO5v4B5A1T/6uoa3d3d6P9pHNbu92h4fSEJ8D1MwoddQyogYuemgCDAk3LDzX1g
64PwAluiTX9x6YTVakVvby9av7PhRfsGyr651EPwoFtAxp5ywEjg+MyFIwGSIAGLxYKqqiq8ffsLLB0j
+PTVJp6/cj7sGuohMChAAkw0nYA4MTemHZ/eKNDY2Ijy8nIUFhZi9Pc/UPnlO+Rat5Fpvbp/CKQCDIFZ
AZGETEASoPzq9PRUhNbQ0ICysjLk5+cjKysLf05M4ZM6GzJe7gkC165FXsw9B7RSrAgwB6gACTDh9Nhr
YJtWX1+P0tJS5OXlIS0tDampqbBPziDzs1EkvfiA62vvJG6HQBDQQ8BboF1DKkCYbwKNm5eUlCA3N1du
Hhsbi+TkZExML+Gj4jEcHh56JeEWAnMpVkmo1wAD1BiNJ6f8OTk5SElJQUREBAICAqQa7+wOTExM4Ojo
yCOJGwKaArcIsPIJyEoooFdErU/jRunp6cjIyEB0dDT8/f3h4+MjUVBQAIfDgampKRwfH7seMJgbAU+l
WEKr/XpfgH2CFhcXh/j4eERFRSEwMFDfXIHhmZmZkTg7066RZu5JaFLACIv2FdT79KJPi4yMRFhYGIKC
gm5trtDc3CxVWFxcxPn5uetBYV6TkKAS3qDmaSEhIXdurtDT0wO73Y7l5WVcXFzIZ28roP3RUAnlvbXp
aX5+fh43HB7WYmSy0dFRrK2t4fLy0pADWh0gCTOYG5lijt44xvU0tWFMTAyCg4P1fnZ2Nv7Z/1cWp6Ki
Ilmua2pq0N7ejunpaZyenroToArSi3AY+0xQ4xzbsi/aNG4WHh6O9Y0NmXCKgK+vL9bX1+XHqq+vD5OT
kzIPFhYWsLu7667AYyw0NBRzc3NoaWnB0tKS3FiRqK6uxuzsLIaGhmRBMtuTEBgbG0NdXR0qKirkySi9
IkByLEJtbW1YXV29VYyehEBXVxcqKysxMDAg5bXZbDoBgvP9/f0YHx93u4K0RxPgqfhHNDg4iM3NTezs
7MhTJiUl6QQSEhJwcnIir+H29rb2pMseTeDg4AArKyvyxUwqnnB/f18mHTdPTEyUBBkG/jewEBnt0QR4
WqfTqceWfmtrS/wrXsmPEI2J2dHRgaampqcn4MmY7VSGuVBbW4vi4mJ5FXkTnjwEnoynZ7llzDs7O2VF
nJ+fx97enl6CXQb8ByPXL/2UPF2mAAAAAElFTkSuQmCC
</value>
</data>
<data name="tsbtnClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJQSURBVFhHxZfNctNAEIQFb0UuYEu8DFwoiOwrVPGbFPAE
vKhjV9huzSiz69aubA501XfwuGdms7ORtV3S8/9M/qHQs0T8/l9ArVKIzwbqMA4vj2P/5rDb3FgIcs+1
UIfb/sVx//rtw4f+lYUoGLi609j/ftwPj85p139B3FQWXQuFWnnt4Y99NZmwqmiYjfvhK12TyuItKNRQ
tR/G7Qbf03jcbd8pE7hyJ6jyL4+gJzw0Yz7K5JxuL9oJCjmqloOe8CFhOgOV1YLTuP0Gn6ls6lDwqhpO
3NU8cWFeTkr8blYoNn6qkTwq1ynOlSxQ3wm9CKrZ/Pw8zQXyQq2dGIcfZp2FmPI6C/9RWfM5CDXnOPb3
ZsUz5F55nMr5yT5EqPY8+49AfecsjGzuUwYiVGsRNRrN2UMFI1RrvorinKjaQAZLqLTV1TlH4LU0SNV0
ZFBBteYN4DE7pGpFZFBBpZl+Uk0j8JgdUrUiMlhCpZ/QX6qhAl5Lg1RNRwYj1CXNnZWLkEGHSjPNXlQu
AblWBpI9VBBQreaYd+tcNBZxFmAQSv/HP1VBJ25xa0SoZVYo6xU/MAClVdef7fl8qeYi9LNBNN8Nd6qA
s7ClVHtkw51ZIeYVBVo/qfV5Qs1FpB5mpZA4vZLt+88qwUmJS3OMUPCqGg56mXVKOrzf3CijkxLWPtsB
hRxVy0FP+JhQfy0/m9saqNp5yl7LKxeTNT+pS1BL58qvaE/GdF2KhvSaNc8pqSy+Fgq1strF1Ww24rqE
C6TPxxQLXgOFmryc2pWs67ruL9BDjecFstIGAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>166, 17</value>
</metadata>
<metadata name="colBatchId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colTargetCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCompleteCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCreateTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@ -234,6 +234,8 @@ namespace ProductionControl
AssistStepInfo = list[liIndex].AssistStepInfo,
ProductAssistProcessList = new List<ProductAssistProcess>(),
MapPath = "",
GetPointList = "",
//OrderList = new List<Order>(),
ModifyUserCode = Config.loginUser.Code,

View File

@ -28,241 +28,244 @@
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmStepList));
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.tsbtnAdd = new System.Windows.Forms.ToolStripButton();
this.tsbtnDel = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.tsbtnClone = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.tsbtnClose = new System.Windows.Forms.ToolStripButton();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.tsslCount = new System.Windows.Forms.ToolStripStatusLabel();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.colId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.toolStrip1.SuspendLayout();
this.statusStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// toolStrip1
//
this.toolStrip1.BackColor = System.Drawing.SystemColors.GradientInactiveCaption;
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(32, 32);
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsbtnAdd,
this.tsbtnDel,
this.toolStripSeparator4,
this.tsbtnClone,
this.toolStripSeparator1,
this.tsbtnClose});
this.toolStrip1.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.HorizontalStackWithOverflow;
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(1002, 65);
this.toolStrip1.TabIndex = 12;
this.toolStrip1.Text = "toolStrip1";
//
// tsbtnAdd
//
this.tsbtnAdd.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnAdd.Image")));
this.tsbtnAdd.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.tsbtnAdd.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbtnAdd.Name = "tsbtnAdd";
this.tsbtnAdd.Size = new System.Drawing.Size(70, 60);
this.tsbtnAdd.Text = " 添加 ";
this.tsbtnAdd.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.tsbtnAdd.Click += new System.EventHandler(this.tsbtnAdd_Click);
//
// tsbtnDel
//
this.tsbtnDel.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnDel.Image")));
this.tsbtnDel.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.tsbtnDel.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbtnDel.Name = "tsbtnDel";
this.tsbtnDel.Size = new System.Drawing.Size(70, 60);
this.tsbtnDel.Text = " 删除 ";
this.tsbtnDel.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.tsbtnDel.Click += new System.EventHandler(this.tsbtnDel_Click);
//
// toolStripSeparator4
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(6, 65);
//
// tsbtnClone
//
this.tsbtnClone.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnClone.Image")));
this.tsbtnClone.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.tsbtnClone.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbtnClone.Name = "tsbtnClone";
this.tsbtnClone.Size = new System.Drawing.Size(70, 60);
this.tsbtnClone.Text = " 克隆 ";
this.tsbtnClone.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.tsbtnClone.ToolTipText = "克隆当前流程";
this.tsbtnClone.Click += new System.EventHandler(this.tsbtnClone_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 65);
//
// tsbtnClose
//
this.tsbtnClose.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnClose.Image")));
this.tsbtnClose.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.tsbtnClose.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbtnClose.Name = "tsbtnClose";
this.tsbtnClose.Size = new System.Drawing.Size(70, 60);
this.tsbtnClose.Text = " 关闭 ";
this.tsbtnClose.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.tsbtnClose.Click += new System.EventHandler(this.tsbtnClose_Click);
//
// statusStrip1
//
this.statusStrip1.ImageScalingSize = new System.Drawing.Size(24, 24);
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsslCount});
this.statusStrip1.Location = new System.Drawing.Point(0, 681);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(1002, 31);
this.statusStrip1.TabIndex = 22;
this.statusStrip1.Text = "statusStrip1";
//
// tsslCount
//
this.tsslCount.Name = "tsslCount";
this.tsslCount.Size = new System.Drawing.Size(33, 24);
this.tsslCount.Text = "共 ";
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colId,
this.,
this.,
this.Column2,
this.Column1});
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dataGridView1.DefaultCellStyle = dataGridViewCellStyle5;
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(0, 65);
this.dataGridView1.MultiSelect = false;
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.RowHeadersVisible = false;
this.dataGridView1.RowHeadersWidth = 62;
dataGridViewCellStyle6.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle6;
this.dataGridView1.RowTemplate.Height = 30;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(1002, 616);
this.dataGridView1.TabIndex = 23;
this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick);
//
// colId
//
this.colId.DataPropertyName = "Id";
this.colId.HeaderText = "ID";
this.colId.MinimumWidth = 8;
this.colId.Name = "colId";
this.colId.ReadOnly = true;
this.colId.Visible = false;
this.colId.Width = 150;
//
// 检测值
//
this..DataPropertyName = "Code";
dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold);
this..DefaultCellStyle = dataGridViewCellStyle2;
this..HeaderText = "编号";
this..MinimumWidth = 8;
this..Name = "检测值";
this..ReadOnly = true;
this..Width = 200;
//
// 工序
//
this..AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this..DataPropertyName = "Name";
dataGridViewCellStyle3.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this..DefaultCellStyle = dataGridViewCellStyle3;
this..HeaderText = "名称";
this..MinimumWidth = 8;
this..Name = "工序";
this..ReadOnly = true;
//
// Column2
//
this.Column2.DataPropertyName = "ModifyUserCode";
this.Column2.HeaderText = "修订人";
this.Column2.MinimumWidth = 8;
this.Column2.Name = "Column2";
this.Column2.ReadOnly = true;
this.Column2.Width = 150;
//
// Column1
//
this.Column1.DataPropertyName = "ModifyTime";
dataGridViewCellStyle4.Format = "g";
dataGridViewCellStyle4.NullValue = null;
this.Column1.DefaultCellStyle = dataGridViewCellStyle4;
this.Column1.HeaderText = "修订日期";
this.Column1.MinimumWidth = 8;
this.Column1.Name = "Column1";
this.Column1.ReadOnly = true;
this.Column1.Width = 150;
//
// FrmStepList
//
this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 18F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1002, 712);
this.Controls.Add(this.dataGridView1);
this.Controls.Add(this.statusStrip1);
this.Controls.Add(this.toolStrip1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmStepList";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "流程管理";
this.Load += new System.EventHandler(this.FrmStepList_Load);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmStepList));
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.tsbtnAdd = new System.Windows.Forms.ToolStripButton();
this.tsbtnDel = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.tsbtnClone = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.tsbtnClose = new System.Windows.Forms.ToolStripButton();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.tsslCount = new System.Windows.Forms.ToolStripStatusLabel();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.colId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this. = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.toolStrip1.SuspendLayout();
this.statusStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// toolStrip1
//
this.toolStrip1.BackColor = System.Drawing.SystemColors.GradientInactiveCaption;
this.toolStrip1.ImageScalingSize = new System.Drawing.Size(32, 32);
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsbtnAdd,
this.tsbtnDel,
this.toolStripSeparator4,
this.tsbtnClone,
this.toolStripSeparator1,
this.tsbtnClose});
this.toolStrip1.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.HorizontalStackWithOverflow;
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(668, 56);
this.toolStrip1.TabIndex = 12;
this.toolStrip1.Text = "toolStrip1";
//
// tsbtnAdd
//
this.tsbtnAdd.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnAdd.Image")));
this.tsbtnAdd.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.tsbtnAdd.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbtnAdd.Name = "tsbtnAdd";
this.tsbtnAdd.Size = new System.Drawing.Size(52, 53);
this.tsbtnAdd.Text = " 添加 ";
this.tsbtnAdd.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.tsbtnAdd.Click += new System.EventHandler(this.tsbtnAdd_Click);
//
// tsbtnDel
//
this.tsbtnDel.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnDel.Image")));
this.tsbtnDel.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.tsbtnDel.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbtnDel.Name = "tsbtnDel";
this.tsbtnDel.Size = new System.Drawing.Size(52, 53);
this.tsbtnDel.Text = " 删除 ";
this.tsbtnDel.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.tsbtnDel.Click += new System.EventHandler(this.tsbtnDel_Click);
//
// toolStripSeparator4
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(6, 56);
//
// tsbtnClone
//
this.tsbtnClone.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnClone.Image")));
this.tsbtnClone.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.tsbtnClone.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbtnClone.Name = "tsbtnClone";
this.tsbtnClone.Size = new System.Drawing.Size(52, 53);
this.tsbtnClone.Text = " 克隆 ";
this.tsbtnClone.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.tsbtnClone.ToolTipText = "克隆当前流程";
this.tsbtnClone.Click += new System.EventHandler(this.tsbtnClone_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 56);
//
// tsbtnClose
//
this.tsbtnClose.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnClose.Image")));
this.tsbtnClose.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.tsbtnClose.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbtnClose.Name = "tsbtnClose";
this.tsbtnClose.Size = new System.Drawing.Size(52, 53);
this.tsbtnClose.Text = " 关闭 ";
this.tsbtnClose.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.tsbtnClose.Click += new System.EventHandler(this.tsbtnClose_Click);
//
// statusStrip1
//
this.statusStrip1.ImageScalingSize = new System.Drawing.Size(24, 24);
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsslCount});
this.statusStrip1.Location = new System.Drawing.Point(0, 453);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Padding = new System.Windows.Forms.Padding(1, 0, 9, 0);
this.statusStrip1.Size = new System.Drawing.Size(668, 22);
this.statusStrip1.TabIndex = 22;
this.statusStrip1.Text = "statusStrip1";
//
// tsslCount
//
this.tsslCount.Name = "tsslCount";
this.tsslCount.Size = new System.Drawing.Size(24, 17);
this.tsslCount.Text = "共 ";
//
// dataGridView1
//
this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colId,
this.,
this.,
this.Column2,
this.Column1});
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dataGridView1.DefaultCellStyle = dataGridViewCellStyle5;
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(0, 56);
this.dataGridView1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.dataGridView1.MultiSelect = false;
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.RowHeadersVisible = false;
this.dataGridView1.RowHeadersWidth = 62;
dataGridViewCellStyle6.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dataGridView1.RowsDefaultCellStyle = dataGridViewCellStyle6;
this.dataGridView1.RowTemplate.Height = 30;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dataGridView1.Size = new System.Drawing.Size(668, 397);
this.dataGridView1.TabIndex = 23;
this.dataGridView1.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick);
//
// colId
//
this.colId.DataPropertyName = "Id";
this.colId.HeaderText = "ID";
this.colId.MinimumWidth = 8;
this.colId.Name = "colId";
this.colId.ReadOnly = true;
this.colId.Visible = false;
this.colId.Width = 150;
//
// 检测值
//
this..DataPropertyName = "Code";
dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold);
this..DefaultCellStyle = dataGridViewCellStyle2;
this..HeaderText = "编号";
this..MinimumWidth = 8;
this..Name = "检测值";
this..ReadOnly = true;
this..Width = 200;
//
// 工序
//
this..AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
this..DataPropertyName = "Name";
dataGridViewCellStyle3.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this..DefaultCellStyle = dataGridViewCellStyle3;
this..HeaderText = "名称";
this..MinimumWidth = 8;
this..Name = "工序";
this..ReadOnly = true;
//
// Column2
//
this.Column2.DataPropertyName = "ModifyUserCode";
this.Column2.HeaderText = "修订人";
this.Column2.MinimumWidth = 8;
this.Column2.Name = "Column2";
this.Column2.ReadOnly = true;
this.Column2.Width = 150;
//
// Column1
//
this.Column1.DataPropertyName = "ModifyTime";
dataGridViewCellStyle4.Format = "g";
dataGridViewCellStyle4.NullValue = null;
this.Column1.DefaultCellStyle = dataGridViewCellStyle4;
this.Column1.HeaderText = "修订日期";
this.Column1.MinimumWidth = 8;
this.Column1.Name = "Column1";
this.Column1.ReadOnly = true;
this.Column1.Width = 150;
//
// FrmStepList
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(668, 475);
this.Controls.Add(this.dataGridView1);
this.Controls.Add(this.statusStrip1);
this.Controls.Add(this.toolStrip1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.Name = "FrmStepList";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "流程管理";
this.Load += new System.EventHandler(this.FrmStepList_Load);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion

View File

@ -1,4 +1,5 @@
using Models;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.ComponentModel;
@ -110,16 +111,35 @@ namespace ProductionControl
ProcessList = new List<StepProcess>()
};
foreach(var item in list[liIndex].ProcessList)
{
newStep.ProcessList.Add(new StepProcess()
{
Order = item.Order,
ProcessCode=item.ProcessCode,
ProcessName = item.ProcessName,
ProcessParams=item.ProcessParams,
ModifyUserCode = Config.loginUser.Code,
CreateUserCode = Config.loginUser.Code
});
{
StepProcess sp;
string spPrarms = "";
if (item.ProcessCode == "Size")
{
if (item.ProcessParams.IndexOf("MapPath") > 0)
{
JObject jo = JObject.Parse(item.ProcessParams);//解析成json
jo["MapPath"] = "";//修改需要的字段
jo["GetPointList"] = null;
spPrarms = Convert.ToString(jo);
}
else
spPrarms = item.ProcessParams;
}
else
spPrarms = item.ProcessParams;
sp = new StepProcess()
{
Order = item.Order,
ProcessCode = item.ProcessCode,
ProcessName = item.ProcessName,
ProcessParams = spPrarms,
ModifyUserCode = Config.loginUser.Code,
CreateUserCode = Config.loginUser.Code
};
newStep.ProcessList.Add(sp);
}
try

View File

@ -1,473 +1,473 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="tsbtnAdd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHoSURBVFhH3ZfNSwJBGMaFIIgM3R2/gu5B/0OXDp26eutk
uTv2QfQvddf+gCCKTkKn8BituDNqdI6+IJtH39RUGHcakfrBA77jvM/7oLvLTmyUuCdTjIsK48En47Jj
R/ASFXjTmMlkeSujGqrjBtZUxQwaN45KWcZG15dH6vO6TfU8EUKUadwI+dqiW5Cvjhfe0op14I0ZmEVL
A7K7rWWV8M31xRUtWQfemIFZtDQAi0jHeHhDS3rynYWupgTemGEtAPPlBUSlFusBEvuiBVGpxf4vwMMA
olLL/wvgcnkPUanFOEDuuJl2PHHm+OH5sFZ48AyNrmMveqi9j3EA129u9J5i0ws91N7HOABInATJVLG+
mj54zH2LFWUDGl7DHuylth/8KsAk1N4HiEotswgw59vQa9QhKrVYD5DkYRuiUov9X4CHWxCVWqwHiIpR
gLXTxpK6veL4PorQg16y6RI5gFsS+QSXL6wQfKiHy3skqR70woPsogdIcbnp+PLS5eLaROiFB9n90WvA
JpEDuCW5rf7PO+aLmpFULzzIzuQaEDt45VInmycToRceZKcPoBLP77UchwXcNrM+mGDGxIMJwLFJJZzT
0UyR2Wtn1aaZHk4xg8ZNZuVQMLzXqYvI6vEcnvCmMUQs9gWGsZeiWY4KFwAAAABJRU5ErkJggg==
</value>
</data>
<data name="tsbtnDel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAMMSURBVFhH7VfbS5NhGH86SArdqG3TOV2QF9WFXlSEF/0D
naDuRehEFILG0rkJowIlA7voKjEpCwWhoJKyyLJ5gIIwSsTKY+kOmpuJZnbw1/Ns7zQ3NLcmdLEf/Hi/
932e5/f8vm8f+96XVgozGUwWMjzlsZ3HtqWo4pJnUqX/jhJKu8KiCJdSpyQih410WhabKyGD20z6HCul
b+G7y1yK/rg+R/KlTuqV1MpQSIaEP2mmjB3qblpVyoog+VIn9cGaKiUUXFBbTDqv0EJpLgvpncWUPMZz
nCHNLI881zlNpHMtxUCOyofUi47o8VxpG2pVy8XgwHUz6cZVEqxrM3AhaTvOJ25T3BoGF2qsa9N974To
ir70US1DkU+ZG0xkTCkk7USZLgsf7zzCSOMzDN9rDpuBuvKUbIie6Iq+arU0bKTZWERab5k2C6OP24Ah
N9DvCJ+DLszxeDFjJ86Sxiu6qsXy4Bcn0fcE2IDroZ2FnEDvMNA3AjjG/Yb6eO5bU5RryZO4NJc5j784
JgYKSDMhuqrF8ggxMKAM8OhuasP0q26/GVkLkJt97+qF84EdP3sG/XExwLHoGHB4MHy/GfmUgLp9edys
b+HJCMen0HisCKcpDp2V1X4D/BNEz8DoF/TUNOAkrUF1zkHMdPYsNuCZwq0DeRwntJVe8q8NRdOAewLv
b9zGKVqPmj2HMfP6XYiB+kNHOb4OHbbKmIGYgZiBmIGYgVUwIN+Caw04zv/1Vbv342vwt8A7jZt7c3GC
463WilUwMPwZo086ULppM+7mFuBHd79/PWBgbBItReWwJBrQXVWvvobOKBr48IkFXZh92485uQ7eDwgH
HPj2pnfxhoTH6BgINGET8w2CKab4sc+bi9SAjQxJvCecLNNlw9PyEnB6fT9B2ORNDJweVBh3iYFJ0VUt
loeNjPElpHdb4tLRce4yXPYXcDW3h0+u67pah9J4Ix9QUt2iq1r8HXzMMrEJ2c3yfj41YpoomU9Velgj
OazyAeIIn/OaiklvZ5Hn4VLqpF50lOT/BqLf422j357aoPMAAAAASUVORK5CYII=
</value>
</data>
<data name="tsbtnClone.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAIUSURBVFhH7ZNrS9tgGIb7///LQMb2QSbTTTJXMm3XQ9Ic
WpK0OfVoutZqrN7LK4/wkrwGfepHb7igFO7nbkKvxkeeo9kp3HTNRvTpFC9OmiF/eGQj+nSKFzvJcLd/
ZCP6dIoXO85we//ARvTpFC+D6Bo3+Z6N6NMpXsxwhc3tPRvRp1O8GJMl/u1yNqKvskOm1pTeeIlse8dG
9FV2yNSa0g3mWG12bERfZYdMrSl/vRkW6xs2oq+yQ6bWlHZxYJZt2Yi+yg6ZWlOuRlOkqw0b0VfZIVNr
yuUwQbxYs9HtUGmHjDCF5qrR3QSTecbCT5fQjEBph4wwheaqadoRgunqzYyiGdxJgrO2o7RDRphCc9X8
tkJ4yfJNuJMpLD9GfzjGN91Q2iEjTKG5an4NQozixatxxilML0LPDdAaDPFFayvtkBGm0Fw1mjmBG85f
heUn2OR44nq3x3S9g5eulHbICFNorprz4k9kF6+0Doueulu88sU2R7TcFD9ohv4oVJpRRphCc9X87AWw
gvRFBsVTG8VQxwlwabjFd0nx2UezYynNKPNsCs1V86PnwyxGVBhe/PTULcuD3ndw0TahXfVwoulKM8rI
ptBcNUdNF2ddv8Jpx8NJa4jjPxa+XvTx+byNT991HB2fKs0oUzaF5nh5D1PoFC/vYQqd4uVQU+gMP4eY
QicOC9cUqh8ejilU/cgLaTT+A+NY6S8KKsPSAAAAAElFTkSuQmCC
</value>
</data>
<data name="tsbtnClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAAJQSURBVFhHxZfNctNAEIQFb0UuYEu8DFwoiOwrVPGbFPAE
vKhjV9huzSiz69aubA501XfwuGdms7ORtV3S8/9M/qHQs0T8/l9ArVKIzwbqMA4vj2P/5rDb3FgIcs+1
UIfb/sVx//rtw4f+lYUoGLi609j/ftwPj85p139B3FQWXQuFWnnt4Y99NZmwqmiYjfvhK12TyuItKNRQ
tR/G7Qbf03jcbd8pE7hyJ6jyL4+gJzw0Yz7K5JxuL9oJCjmqloOe8CFhOgOV1YLTuP0Gn6ls6lDwqhpO
3NU8cWFeTkr8blYoNn6qkTwq1ynOlSxQ3wm9CKrZ/Pw8zQXyQq2dGIcfZp2FmPI6C/9RWfM5CDXnOPb3
ZsUz5F55nMr5yT5EqPY8+49AfecsjGzuUwYiVGsRNRrN2UMFI1RrvorinKjaQAZLqLTV1TlH4LU0SNV0
ZFBBteYN4DE7pGpFZFBBpZl+Uk0j8JgdUrUiMlhCpZ/QX6qhAl5Lg1RNRwYj1CXNnZWLkEGHSjPNXlQu
AblWBpI9VBBQreaYd+tcNBZxFmAQSv/HP1VBJ25xa0SoZVYo6xU/MAClVdef7fl8qeYi9LNBNN8Nd6qA
s7ClVHtkw51ZIeYVBVo/qfV5Qs1FpB5mpZA4vZLt+88qwUmJS3OMUPCqGg56mXVKOrzf3CijkxLWPtsB
hRxVy0FP+JhQfy0/m9saqNp5yl7LKxeTNT+pS1BL58qvaE/GdF2KhvSaNc8pqSy+Fgq1strF1Ww24rqE
C6TPxxQLXgOFmryc2pWs67ruL9BDjecFstIGAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>664, 17</value>
</metadata>
<metadata name="colId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="检测值.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="工序.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAQAEBAAAAEACABoBQAARgAAACAgAAABAAgAqAgAAK4FAAAwMAAAAQAIAKgOAABWDgAAAAAAAAEA
IACHIAAA/hwAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAABELAAARCwAAAAEAAAABAABaUD0AWlE9AF5V
QABiWEIAYlhEAGtgSQB9cFYAjIJuAI2DbwAZp10AGaldABy6aAAevGoAL755AC/AdwAxwHkANdSFADfW
hwA11ooAN9aKADrZigCCdVoAiHteAIR4YQCHjGcAnY1tAJ6ObgCSiXYAkol6AJWMeQCVjHoAlox6AJCS
bgCfkHAAoI1tAKCObgCjkHAAopByAKKScgCmnIYAqZ+JAKqcigCqn4oA++OxAPvjsgD747MA++S1AP3l
sQD95bMA/+WzAP3ltgD/5bYA++a6AP/oswD/6LYA/+u2AP/swgD+8dIA/vTZAP723gD+9t8A//XhAP75
4QD/+OAA//nhAP/45ABIPy4AUUIxAEs/MQBNRDQAS0UxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARwQEBAQE
BAQEBAQEBAQER0cFHx4cHigpJygeBx4eB0dHR0dHRwECBQUCAUdHR0dHR0dHRkRGAQQEAUZERERHR0dH
FxglISIZGhoaISUGR0dHRyAxCTYxMjEyMjE1GUdHR0cgPQsJNjEsLC4uMRlHRwoKCQkLCwo1MS4uLC8h
R0cJDAsLCwsLCi8sLC41GkdHDxQSEhMTEQ45LCwsNRpHRw0ODg4QEA1AQTouLDUaR0dHRyBAEA5BPT1B
OzQxGkdHR0cgQA5AOzs7O0BAOBlHR0dHFiAlIhkZGRkZIiUVR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dH
R0dHR0dHR0dHR4ABAACAAQAA+B8AAOADAADAAwAAwAMAAMADAAAAAwAAAAMAAAADAAAAAwAAwAMAAMAD
AADAAwAA//8AAP//AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAEAAAAAAAAAAAAAAABAAAAAQAAWVA/AFlT
PwBaUT4AY1lDAGRaRABkXEQAZFxEAHdrUwBhV0EAYVpEAGRaRABkWkQAZlxGAHZqUQB3a1EAd2tSAHdr
VAB3blQAemtRAHpqUwB6a1QAeW1UAHpuVAB6blYAc2hQAHltUwBhV0EAZFpEAGRXRABmV0YAZFpEABa6
ZQAZumgAGbxoABy6aAAcvGgAHLxqAB68aAAevGoAIL9qACm9bgAtvm8AML9wADW/cgA11IcANdSFADXW
hwAkwnEAOcF2AD7EfABRjVwARL98ACnUggAv1oUAMNSFADHUhgAy1IYAM9SHADLWhQA11IUANdWHADXW
hQA11ocAN9aFADfWhwA31YgAVNCMAGHcmwCbqnwAp52IAKqgiwCf3JsAnd6uAKDergCv6rsAtezBALzt
xADGs4sAybaLAMm2jgDMto4AybqXAN3gqADi4aoA5uKsAOrjrQDu464A++OvAPLmtgD747EA++S0AP3j
sQD947MA/uOyAP3lsQD95bMA/+WxAP/msgD75roA++a7AP3nuQD/6LMA/+m1AP/otgD/67YA/+u5AMLu
xwDH78kAze/MANXwzgD268IA++nEAPvqxQD/8M0A/vLVAP7z1QD/89kA/vPdAP/02gD+9d4A/vbeAP/1
4QD+9uAA//bgAP734gD+9+MA//XkAP/15wD/+eMA//jkAP/45wD/+uYA//vnAGZaRABpXkgAZ11HAGRc
RAAcumgAHLpoABy/agCyqJQArqSQALuxnQC7sZ0Abl9FALqwnAC6sJ8ArqSQAHBkSgB1alMAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJaW
lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpYYCggICAgLCwsLCwsMDAgKCgkLCwsLCwsKCwoD
lpaWlhcVFxcVFQ8PDw8PDw8VFxcXFw8PFxYPDw8VDxeWlpaWlkZGRkZGRUVFRUVFRUVGRkZGRUaWRkVF
RUVGlpaWlpaWjZSTk42TjI6Ojo6OjZWWkJSUlpaNk5OTk42WlpaWlpaWlpaWlpaWBAUGBgYFBgYMBQYA
lpaWlpaWlpaWlpaWlpaWlpaWlpaIhwcXDw8NFxcEiIiWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlQICAggJ
DZaWlpaWlpaWlpaWlpaWlpaWiAaFGhoaGhocAgECAQEBHBwcHBwcHIWFlpaWlpaWlpZETU1FT01NTU1N
TU1NTU1NTU1NTU1NUQ2WlpaWlpaWlhN+cSdSZl9fX19ZZmFZX1lZYVlmYWFoCpaWlpaWlpaWDX19HyhT
X19hWWFZWWVhWWVZYVlhV2gIlpaWlpaWlpYPhH8iIilUZllhWWFhV2FXWWFXYVllaAiWlpaWlpaWlg+C
giMiIjBUZmFhWVdlWWVlV2VZYVdoCJaWlpaJiYmLMkhIIyckIjBWZVdlYVlhV1dhWWVXZWgIlpaWlick
JCQkIiAkJCQjHzBYYVdZYVlhZVdhV2FXaAiWlpaWIiIiIiIiIiIiIiIiIjFuXWFhWWFhV2VXZVloCJaW
lpYvLy8vLy8vLy8vLy8vL0J0WVlhWVllV2FXYWgIlpaWlkBAQEBAQEBAPz9AQEBAbXt3Y11hYVdhV2Fh
aAiWlpaWQEBAQEA7Ozs/Pz9AQGyCe3t9b1lXYVllWWFoCJaWlpYsLS0uM0NDOztAQDlre357d359c1pZ
YVdXYWgIlpaWlpaWlpYShIA6QDo5an17fnt+d3t9e2NZYWFZaAiWlpaWlpaWlg6EezpANUx9e3t3fnd+
fn19e29XWWFoCJaWlpaWlpaWDoSANTpLfXt+fn53fnd+e3t7gHNdXWgIlpaWlpaWlpYRgHs0Sn50d3d3
d3d3d3R3d3d3d3ZkaQiWlpaWlpaWlhNhXUddV1dXV1dXV1lXV1dXV1dXWVdmCJaWlpaWlpaWGRcQFA8P
EBAQEBQNEBAQEBAQEA8QEBcYlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaW
lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaW
lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaW
lpb/////wAAAA8AAAAPgAAIH4ABGB//AA///wAP///Af//AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADwAA
AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////////////
/////////////ygAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAABORjYAZlxGAGNZ
QwBkXEQAYVdDAGRaRABmWkQAZFxEAGZcRQBmXEYAaF5HAGZcRgBmXEYAa2BJAHltUwB6blQAe29VAHxu
VAB8cFYAf3NZAE5GNgBkXEQAa2FKAB66agBmXEYAd2tSAHltUwBmXEYAZlxGAGZcRwCupJAArqSQALGk
kACdknwAnZV8ABO6aAAXumgAGbppABq6aQAbu2oAGbxqABy6aAAeumgAHrtqABy8aAAcvGoAHrxqACC8
awAivG0AJb5wACm/cgA6o2MAKcBxAEyzdgBSuHoAQMN7AB68agAcvGoANdSFADfWhwA11ocALdSFADHU
hgAy1IYAMtaFADXUhQA01IcANdSHADXWhQA11ocAN9aFADfWhwA11YgAN9WJADrVigA81osAP9aMAELX
jQBG2Y8AVtmUAGLNiwBnzpAAeuClAIZ5XACNgWkAkYNlAJaHaACSk28AqJh1AKqadwCtnXoAoqB7AK+g
fACxoHwAs6F9ALWjfwCupJAArqSUAK6kkACvpZEArqSUALKokQCyqJQApJmEAKechwC4o4IAvKqEAL2x
mAC9sJsAvbKbAL21ngCJ0I4Ai9GVAJXdnQCd05MAjtilAJjksQCb5bQApdeYAKvZmgCz2p0AudufAK7e
oAC/3KEAteq8ALvtxADAsJsAyN2jANLepQDX4q8A3ee9APvjsQD747IA++OzAPvltwD947EA/eOyAP3l
sQD95bMA/+WzAP3mtgD75bgA/+W5AP/oswD96LYA/+i2AP/puQDB7scAx+/JAM3vzADV8M4A3fHQAOLs
zwDh7NQA4fLSAOby1ADq89YA6PTVAPvowAD76MEA/evEAP7x0AD+8dEA/vHSAP7y0gD/8tUA//PVAP7z
2wD+9NsA/vXbAP713AD/9d4A/vbeAP/23gD/9eEA/vfhAP734wD/9eQA//jkAHpuVACup5AAd2hOAHVp
TwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAt7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3GAwMDAMMDAwMBAQMDAMDAwMDAwMDBAwMDAMK
AwMEAwMDAwMDAwMDDAwAt7e3t7e3Dg0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0ODQ0NDQ0NDQ0N
DQ0Kt7e3t7e3U1NTDw8PDw8PHlNTUw8PDx9THxMTEx4PD1NTEh9TVw8PDw8PDw8PDxITt7e3t7e3tyB/
Z2dnZ2dnZ2d/aGdnaGhsaGhoZ2doZ25oaGhotyFoZ2dnZ2hnaCC1t7e3t7e3t7UeVGIeHmIeACIfZyFT
Zx4eZ2JiZxRnU7RiYlQCt7RiYiBiYiBiYrS3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3GwAZGBgYGBgYGBgYGBgYGQAbt7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3DB0NCggKCAoKCAgICAgKCQAMt7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3tFMTEhISEhISExKzt7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
txsEBAQEBAQEBBu3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3txQAAAAAAAAAABS3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3FQUFBQUFBQUJCQgJCAgJCAkJBQUFBQUFCg0FBQUFBQUFBQUV
t7e3t7e3t7e3t7e3ElRZWVdaWVhYWFhYWFhYWFhYWFhYWFhZWFhYWFhYWVlYWVMHt7e3t7e3t7e3t7e3
E26mkm9ykYmJioqKioqKioqKioqKioqKioqKioqKioqKil4Ft7e3t7e3t7e3t7e3Em2vrXAjdpGKiYmJ
iYmJiYmJiYmJiYmJiYmJiYmJiYmJklwFt7e3t7e3t7e3t7e3DmyxsnMoJHeRiomJiYmJiYmJiYmJiYmJ
iYmJiYmJiYmJilwFt7e3t7e3t7e3t7e3Em2xsXMoLiR4kYWKiYmJiYmJiYmJiYmJiYmJiYmJiYmKkl0F
t7e3t7e3t7e3t7e3D2yxsXMoLiwkeZCKioqJiYmJiYmJiYmJiYmJiYmJiYmKkFoFt7e3t7e3t7e3t7e3
EmyxsXMoLi4kLn+KiomJiYmJiYmJiYmJiYmJiYmJiYmJkF0Ft7e3t7e3t7e3t7e3Dn6ysnMuLi4uKSl/
kYqJiYmJiYmJiYmJiYmJiYmJiYmJkF0Ft7e3t7e3OBcXFxc5MzZRUTcuLi4uLiwwgJGJiYmJiYmJiYmJ
iYmJiYmJiYmJkF0Kt7e3t7e3KS8uLi4uLi4oKSkuLi4uLi4sMIGJiYmJiYmJiYmJiYmJiYmJiYmJkGgK
t7e3t7e3Ly4uLi4uLi4uLi4uLi4uLi4uKTGCioiJiYmJiYmJiYmJiYmJiYmJkFwFt7e3t7e3KS4uLi4u
Li4uLi4uLi4uLi4uLik0mYqIiYmJiYmJiYmJiYmJiYmJkFwFt7e3t7e3KSkpKSkpKSkpKSkpKSkuLCkp
KSkpNJmghImJiYmJiYmJiYmJiYmJkFwFt7e3t7e3RkZKREZKRERGRkZKRkpEREpGRkpETpyypISIiYmJ
iYmJiYmJiYmJkFwFt7e3t7e3QkZGRkZGRkZGRkZGRkZGREZGRkJNnLKusq2NiYmJiYmJiYmJiYmJkFwF
t7e3t7e3RERGRkZGRkZGRkZGRkZGRkZGREubsq6urq+vn4iJiYmJiYmJiYmJkFwFt7e3t7e3SUZGRkZE
SURBQkJGRkZGRkRES5qyrq6urq6ysaSEiImJiYmJiYmJkFwJt7e3t7e3Ojs7Ozs8NVBSUk9ERkZGRkRK
l7Gurq6urq6urrKojYmJiYmJiYmJkFwJt7e3t7e3t7e3t7e3EWyysnVERkZGREmWsq6urq6urq6urq6y
r5+DiYmJiYmJkVwFt7e3t7e3t7e3t7e3D2yxsXVERkZESZWyrq6urq6urq6urq6usrGhhIOJiYmJkVwF
t7e3t7e3t7e3t7e3EmyxsXVERERClLGurq6urq6urq6urq6urq6vqIWJiYmKkFwFt7e3t7e3t7e3t7e3
Dm2xsXVERECTsa6urq6urq6urq6urq6urq6usq6fiYmKkFwFt7e3t7e3t7e3t7e3Dm2ysnVAQH2yrq6u
rq6urq6urq6urq6urq6urq6yoYSIilwFt7e3t7e3t7e3t7e3EmutrXQ9fK2nqKenp6enp62np6enp6en
p6etp6etraaKklwFt7e3t7e3t7e3t7e3EmqRkXF6ioqKioqKioqKiomJioqKioqKioqKioqKioqFkV4F
t7e3t7e3t7e3t7e3DlZfX1tpX15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eaVUFt7e3t7e3t7e3t7e3
Gg4SDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8ODhIODhIOEhIZt7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3////////AAD///////8AAOAAAAAABwAA4AAAAAAHAADgAAAAAAcAAPAA
AABABwAA8AAAAEAPAAD///////8AAP/+AAB//wAA//4AAH//AAD//8AD//8AAP//4Af//wAA///gB///
AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwA
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
wsOQABCEh/n/kzJOKq1u/QcAAAAASUVORK5CYII=
</value>
</data>
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="tsbtnAdd.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHmSURBVFhH3ZfNSwJBGMaFIIgM3Rm/gu5B/0OXDp26eusi
lTv2QfQvddf+gCCKTkKn8BiuuDNqdI6+IJtH39R0YdxtROoHD/iO8z7vw+ouO7Fx4kWV4kJWuKh/cqG6
dgQvWYE3jQkmK9oZ3VCdNLCmKmbQuEl0yjI2Mlcd68/rNtX3RAhZpnFj5GuLrKBenaJ/RyvWgTdmYBYt
Dcnutpd1wjfmymtasg68MQOzaGkIFpGOC/+Wlszkuws9TQm8McNaAO6qS4hKI9YDJPZlG6LSiP0rIHwP
otLI/wvAhHqAqDQSOUDupJV2ivLccf2LUcVF/RkaX8de9FD7gMgBmNva6D/Fphd6qH1A5AAgceolUweN
1fThY+5b/EA1odE17MFeavvBrwIEoffWISqNzCLAnG/DYrMBUWnEeoCk8DsQlUbsXwHhb0FUGrEeICyR
AqydNZf07RXH92GEHvSSTY/QAVhJ5hNCvfCC96EfLu+hpHvQCw+yCx8gJdSm46orJuRNFKEXHmT3R/8D
NgkdgJXUtv4977kra5Gke+FBdlH+A3IHr1xceE9RhF54kJ05gE48v9dyHBZw28z6YIIZgQcTgGOTTjin
o5kms9fJ6k0zPZxiBo0LZuVIcrzX2T6ewxPeNIaIxb4AstuXauG3ePoAAAAASUVORK5CYII=
</value>
</data>
<data name="tsbtnDel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMMSURBVFhH7VfdS5NhFD9ZkkI3am46pwvyorrQi4rwon+g
L6h7EfoiCklh6dyEUYGSgV10lZiUhYJQUElZZNn8gIIwSsTKz5pu09xMNLMPf52zPdPcmLm1oIv94Mfz
Ps8553d+77uXvc9Dq4WJ9EYz6Z/w2MljRyiquOQZVenfo4wyLrMowqXUKYnIYSWthsUWykjvMpEuz0KZ
m/nuskPRF9flSb7USb2SWh2KSZ/4O02UtV3dTbtKWRUkX+qkPlBTpQSDC+pLSesRminDaSado5RSJniO
Ykqd55HnWoeRtM5Q9OeofEi96Igez5W2vl61XA4OXDORZlIlwRKXhfPJ23AuaaviljC4VGOJy/S+E6Ir
+tJHtQxGIWWvN5IhrYg0UxXaHHy4/RCjzU9hv9saNv11lWm5ED3RFX3VKjSslLqhhDSeCk0Oxh91ACMu
YHAsfA47scDjhawdOEOpHtFVLVYGvzhJ3ifABpwPbCzkAPrtwMAoMDbpMzTAc++aolxLnsSlucx5/Mkx
MXCaUqdEV7VYGUEGhpQBHl0tHZh92eszI2t+crNvPf1w3LfhR9+wLy4GOBYdA2Nu2O+1opAS0bC3gJsN
LD0Z4eQMmo+W4BTFo7u61meAf4LoGRj/jL66JpygNajNO4C57r7lBtwzuLm/gOOEjvKLvrWRaBpwTeHd
9Vs4SetQt/sQ5l69DTLQePAIx9eiy1odMxAzEDMQMxAz8A8MyLfgahOO8X99za59+BL4LfDM4saefBzn
eLul6h8YsH/C+OMulG/chDv5RfjeO+hb9xuYmEZbSSXMSXr01jSqr6Ejigbef2RBJ+bfDGJBrgP3A8Kh
MXx93b98Q8JjdAz4m7CJxQaBFFP82BfNRWrASvpk3hNOV2hz4W57ATg83p8gbPImBg43qgw7xcC06KoW
K8NKhoQy0rnM8ZnoOnsJTttzOFs7wyfX9VxpQHmCgQ8o6S7RVS3+DD5mGdmE7GZ5P58eMY2UwqcqHSyR
HFb5AHGYz3ktpaSzscizcCl1Ui86SvJ/A9Eve5ajsv1Z2S0AAAAASUVORK5CYII=
</value>
</data>
<data name="tsbtnClone.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIUSURBVFhH7ZNrS9tgGIb7///LQMb2QSbTTTJXMm3XQ9Ic
WpK0OfVoutZqrN7LK4/wkrwGfepHb7igFO7nbkKvxkeeo9kp3HTNRvTpFC9OmiF/eGQj+nSKFzvJcLd/
ZCP6dIoXO85we//ARvTpFC+D6Bo3+Z6N6NMpXsxwhc3tPRvRp1O8GJMl/u1yNqKvskOm1pTeeIlse8dG
9FV2yNSa0g3mWG12bERfZYdMrSl/vRkW6xs2oq+yQ6bWlHZxYJZt2Yi+yg6ZWlOuRlOkqw0b0VfZIVNr
yuUwQbxYs9HtUGmHjDCF5qrR3QSTecbCT5fQjEBph4wwheaqadoRgunqzYyiGdxJgrO2o7RDRphCc9X8
tkJ4yfJNuJMpLD9GfzjGN91Q2iEjTKG5an4NQozixatxxilML0LPDdAaDPFFayvtkBGm0Fw1mjmBG85f
heUn2OR44nq3x3S9g5eulHbICFNorprz4k9kF6+0Doueulu88sU2R7TcFD9ohv4oVJpRRphCc9X87AWw
gvRFBsVTG8VQxwlwabjFd0nx2UezYynNKPNsCs1V86PnwyxGVBhe/PTULcuD3ndw0TahXfVwoulKM8rI
ptBcNUdNF2ddv8Jpx8NJa4jjPxa+XvTx+byNT991HB2fKs0oUzaF5nh5D1PoFC/vYQqd4uVQU+gMP4eY
QicOC9cUqh8ejilU/cgLaTT+A+NY6S8KKsPSAAAAAElFTkSuQmCC
</value>
</data>
<data name="tsbtnClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJQSURBVFhHxZfNctNAEIQFb0UuYEu8DFwoiOwrVPGbFPAE
vKhjV9huzSiz69aubA501XfwuGdms7ORtV3S8/9M/qHQs0T8/l9ArVKIzwbqMA4vj2P/5rDb3FgIcs+1
UIfb/sVx//rtw4f+lYUoGLi609j/ftwPj85p139B3FQWXQuFWnnt4Y99NZmwqmiYjfvhK12TyuItKNRQ
tR/G7Qbf03jcbd8pE7hyJ6jyL4+gJzw0Yz7K5JxuL9oJCjmqloOe8CFhOgOV1YLTuP0Gn6ls6lDwqhpO
3NU8cWFeTkr8blYoNn6qkTwq1ynOlSxQ3wm9CKrZ/Pw8zQXyQq2dGIcfZp2FmPI6C/9RWfM5CDXnOPb3
ZsUz5F55nMr5yT5EqPY8+49AfecsjGzuUwYiVGsRNRrN2UMFI1RrvorinKjaQAZLqLTV1TlH4LU0SNV0
ZFBBteYN4DE7pGpFZFBBpZl+Uk0j8JgdUrUiMlhCpZ/QX6qhAl5Lg1RNRwYj1CXNnZWLkEGHSjPNXlQu
AblWBpI9VBBQreaYd+tcNBZxFmAQSv/HP1VBJ25xa0SoZVYo6xU/MAClVdef7fl8qeYi9LNBNN8Nd6qA
s7ClVHtkw51ZIeYVBVo/qfV5Qs1FpB5mpZA4vZLt+88qwUmJS3OMUPCqGg56mXVKOrzf3CijkxLWPtsB
hRxVy0FP+JhQfy0/m9saqNp5yl7LKxeTNT+pS1BL58qvaE/GdF2KhvSaNc8pqSy+Fgq1strF1Ww24rqE
C6TPxxQLXgOFmryc2pWs67ruL9BDjecFstIGAAAAAElFTkSuQmCC
</value>
</data>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>664, 17</value>
</metadata>
<metadata name="colId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="检测值.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="工序.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column2.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAQAEBAAAAEACABoBQAARgAAACAgAAABAAgAqAgAAK4FAAAwMAAAAQAIAKgOAABWDgAAAAAAAAEA
IACHIAAA/hwAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAABELAAARCwAAAAEAAAABAABaUD0AWlE9AF5V
QABiWEIAYlhEAGtgSQB9cFYAjIJuAI2DbwAZp10AGaldABy6aAAevGoAL755AC/AdwAxwHkANdSFADfW
hwA11ooAN9aKADrZigCCdVoAiHteAIR4YQCHjGcAnY1tAJ6ObgCSiXYAkol6AJWMeQCVjHoAlox6AJCS
bgCfkHAAoI1tAKCObgCjkHAAopByAKKScgCmnIYAqZ+JAKqcigCqn4oA++OxAPvjsgD747MA++S1AP3l
sQD95bMA/+WzAP3ltgD/5bYA++a6AP/oswD/6LYA/+u2AP/swgD+8dIA/vTZAP723gD+9t8A//XhAP75
4QD/+OAA//nhAP/45ABIPy4AUUIxAEs/MQBNRDQAS0UxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARwQEBAQE
BAQEBAQEBAQER0cFHx4cHigpJygeBx4eB0dHR0dHRwECBQUCAUdHR0dHR0dHRkRGAQQEAUZERERHR0dH
FxglISIZGhoaISUGR0dHRyAxCTYxMjEyMjE1GUdHR0cgPQsJNjEsLC4uMRlHRwoKCQkLCwo1MS4uLC8h
R0cJDAsLCwsLCi8sLC41GkdHDxQSEhMTEQ45LCwsNRpHRw0ODg4QEA1AQTouLDUaR0dHRyBAEA5BPT1B
OzQxGkdHR0cgQA5AOzs7O0BAOBlHR0dHFiAlIhkZGRkZIiUVR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dH
R0dHR0dHR0dHR4ABAACAAQAA+B8AAOADAADAAwAAwAMAAMADAAAAAwAAAAMAAAADAAAAAwAAwAMAAMAD
AADAAwAA//8AAP//AAAoAAAAIAAAAEAAAAABAAgAAAAAAAAEAAAAAAAAAAAAAAABAAAAAQAAWVA/AFlT
PwBaUT4AY1lDAGRaRABkXEQAZFxEAHdrUwBhV0EAYVpEAGRaRABkWkQAZlxGAHZqUQB3a1EAd2tSAHdr
VAB3blQAemtRAHpqUwB6a1QAeW1UAHpuVAB6blYAc2hQAHltUwBhV0EAZFpEAGRXRABmV0YAZFpEABa6
ZQAZumgAGbxoABy6aAAcvGgAHLxqAB68aAAevGoAIL9qACm9bgAtvm8AML9wADW/cgA11IcANdSFADXW
hwAkwnEAOcF2AD7EfABRjVwARL98ACnUggAv1oUAMNSFADHUhgAy1IYAM9SHADLWhQA11IUANdWHADXW
hQA11ocAN9aFADfWhwA31YgAVNCMAGHcmwCbqnwAp52IAKqgiwCf3JsAnd6uAKDergCv6rsAtezBALzt
xADGs4sAybaLAMm2jgDMto4AybqXAN3gqADi4aoA5uKsAOrjrQDu464A++OvAPLmtgD747EA++S0AP3j
sQD947MA/uOyAP3lsQD95bMA/+WxAP/msgD75roA++a7AP3nuQD/6LMA/+m1AP/otgD/67YA/+u5AMLu
xwDH78kAze/MANXwzgD268IA++nEAPvqxQD/8M0A/vLVAP7z1QD/89kA/vPdAP/02gD+9d4A/vbeAP/1
4QD+9uAA//bgAP734gD+9+MA//XkAP/15wD/+eMA//jkAP/45wD/+uYA//vnAGZaRABpXkgAZ11HAGRc
RAAcumgAHLpoABy/agCyqJQArqSQALuxnQC7sZ0Abl9FALqwnAC6sJ8ArqSQAHBkSgB1alMAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJaW
lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpYYCggICAgLCwsLCwsMDAgKCgkLCwsLCwsKCwoD
lpaWlhcVFxcVFQ8PDw8PDw8VFxcXFw8PFxYPDw8VDxeWlpaWlkZGRkZGRUVFRUVFRUVGRkZGRUaWRkVF
RUVGlpaWlpaWjZSTk42TjI6Ojo6OjZWWkJSUlpaNk5OTk42WlpaWlpaWlpaWlpaWBAUGBgYFBgYMBQYA
lpaWlpaWlpaWlpaWlpaWlpaWlpaIhwcXDw8NFxcEiIiWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlQICAggJ
DZaWlpaWlpaWlpaWlpaWlpaWiAaFGhoaGhocAgECAQEBHBwcHBwcHIWFlpaWlpaWlpZETU1FT01NTU1N
TU1NTU1NTU1NTU1NUQ2WlpaWlpaWlhN+cSdSZl9fX19ZZmFZX1lZYVlmYWFoCpaWlpaWlpaWDX19HyhT
X19hWWFZWWVhWWVZYVlhV2gIlpaWlpaWlpYPhH8iIilUZllhWWFhV2FXWWFXYVllaAiWlpaWlpaWlg+C
giMiIjBUZmFhWVdlWWVlV2VZYVdoCJaWlpaJiYmLMkhIIyckIjBWZVdlYVlhV1dhWWVXZWgIlpaWlick
JCQkIiAkJCQjHzBYYVdZYVlhZVdhV2FXaAiWlpaWIiIiIiIiIiIiIiIiIjFuXWFhWWFhV2VXZVloCJaW
lpYvLy8vLy8vLy8vLy8vL0J0WVlhWVllV2FXYWgIlpaWlkBAQEBAQEBAPz9AQEBAbXt3Y11hYVdhV2Fh
aAiWlpaWQEBAQEA7Ozs/Pz9AQGyCe3t9b1lXYVllWWFoCJaWlpYsLS0uM0NDOztAQDlre357d359c1pZ
YVdXYWgIlpaWlpaWlpYShIA6QDo5an17fnt+d3t9e2NZYWFZaAiWlpaWlpaWlg6EezpANUx9e3t3fnd+
fn19e29XWWFoCJaWlpaWlpaWDoSANTpLfXt+fn53fnd+e3t7gHNdXWgIlpaWlpaWlpYRgHs0Sn50d3d3
d3d3d3R3d3d3d3ZkaQiWlpaWlpaWlhNhXUddV1dXV1dXV1lXV1dXV1dXWVdmCJaWlpaWlpaWGRcQFA8P
EBAQEBQNEBAQEBAQEA8QEBcYlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaW
lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaW
lpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaW
lpb/////wAAAA8AAAAPgAAIH4ABGB//AA///wAP///Af//AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADwAA
AA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////////////
/////////////ygAAAAwAAAAYAAAAAEACAAAAAAAAAkAAAAAAAAAAAAAAAEAAAABAABORjYAZlxGAGNZ
QwBkXEQAYVdDAGRaRABmWkQAZFxEAGZcRQBmXEYAaF5HAGZcRgBmXEYAa2BJAHltUwB6blQAe29VAHxu
VAB8cFYAf3NZAE5GNgBkXEQAa2FKAB66agBmXEYAd2tSAHltUwBmXEYAZlxGAGZcRwCupJAArqSQALGk
kACdknwAnZV8ABO6aAAXumgAGbppABq6aQAbu2oAGbxqABy6aAAeumgAHrtqABy8aAAcvGoAHrxqACC8
awAivG0AJb5wACm/cgA6o2MAKcBxAEyzdgBSuHoAQMN7AB68agAcvGoANdSFADfWhwA11ocALdSFADHU
hgAy1IYAMtaFADXUhQA01IcANdSHADXWhQA11ocAN9aFADfWhwA11YgAN9WJADrVigA81osAP9aMAELX
jQBG2Y8AVtmUAGLNiwBnzpAAeuClAIZ5XACNgWkAkYNlAJaHaACSk28AqJh1AKqadwCtnXoAoqB7AK+g
fACxoHwAs6F9ALWjfwCupJAArqSUAK6kkACvpZEArqSUALKokQCyqJQApJmEAKechwC4o4IAvKqEAL2x
mAC9sJsAvbKbAL21ngCJ0I4Ai9GVAJXdnQCd05MAjtilAJjksQCb5bQApdeYAKvZmgCz2p0AudufAK7e
oAC/3KEAteq8ALvtxADAsJsAyN2jANLepQDX4q8A3ee9APvjsQD747IA++OzAPvltwD947EA/eOyAP3l
sQD95bMA/+WzAP3mtgD75bgA/+W5AP/oswD96LYA/+i2AP/puQDB7scAx+/JAM3vzADV8M4A3fHQAOLs
zwDh7NQA4fLSAOby1ADq89YA6PTVAPvowAD76MEA/evEAP7x0AD+8dEA/vHSAP7y0gD/8tUA//PVAP7z
2wD+9NsA/vXbAP713AD/9d4A/vbeAP/23gD/9eEA/vfhAP734wD/9eQA//jkAHpuVACup5AAd2hOAHVp
TwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAt7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3GAwMDAMMDAwMBAQMDAMDAwMDAwMDBAwMDAMK
AwMEAwMDAwMDAwMDDAwAt7e3t7e3Dg0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0ODQ0NDQ0NDQ0N
DQ0Kt7e3t7e3U1NTDw8PDw8PHlNTUw8PDx9THxMTEx4PD1NTEh9TVw8PDw8PDw8PDxITt7e3t7e3tyB/
Z2dnZ2dnZ2d/aGdnaGhsaGhoZ2doZ25oaGhotyFoZ2dnZ2hnaCC1t7e3t7e3t7UeVGIeHmIeACIfZyFT
Zx4eZ2JiZxRnU7RiYlQCt7RiYiBiYiBiYrS3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3GwAZGBgYGBgYGBgYGBgYGQAbt7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3DB0NCggKCAoKCAgICAgKCQAMt7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3tFMTEhISEhISExKzt7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
txsEBAQEBAQEBBu3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3txQAAAAAAAAAABS3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3FQUFBQUFBQUJCQgJCAgJCAkJBQUFBQUFCg0FBQUFBQUFBQUV
t7e3t7e3t7e3t7e3ElRZWVdaWVhYWFhYWFhYWFhYWFhYWFhZWFhYWFhYWVlYWVMHt7e3t7e3t7e3t7e3
E26mkm9ykYmJioqKioqKioqKioqKioqKioqKioqKioqKil4Ft7e3t7e3t7e3t7e3Em2vrXAjdpGKiYmJ
iYmJiYmJiYmJiYmJiYmJiYmJiYmJklwFt7e3t7e3t7e3t7e3DmyxsnMoJHeRiomJiYmJiYmJiYmJiYmJ
iYmJiYmJiYmJilwFt7e3t7e3t7e3t7e3Em2xsXMoLiR4kYWKiYmJiYmJiYmJiYmJiYmJiYmJiYmKkl0F
t7e3t7e3t7e3t7e3D2yxsXMoLiwkeZCKioqJiYmJiYmJiYmJiYmJiYmJiYmKkFoFt7e3t7e3t7e3t7e3
EmyxsXMoLi4kLn+KiomJiYmJiYmJiYmJiYmJiYmJiYmJkF0Ft7e3t7e3t7e3t7e3Dn6ysnMuLi4uKSl/
kYqJiYmJiYmJiYmJiYmJiYmJiYmJkF0Ft7e3t7e3OBcXFxc5MzZRUTcuLi4uLiwwgJGJiYmJiYmJiYmJ
iYmJiYmJiYmJkF0Kt7e3t7e3KS8uLi4uLi4oKSkuLi4uLi4sMIGJiYmJiYmJiYmJiYmJiYmJiYmJkGgK
t7e3t7e3Ly4uLi4uLi4uLi4uLi4uLi4uKTGCioiJiYmJiYmJiYmJiYmJiYmJkFwFt7e3t7e3KS4uLi4u
Li4uLi4uLi4uLi4uLik0mYqIiYmJiYmJiYmJiYmJiYmJkFwFt7e3t7e3KSkpKSkpKSkpKSkpKSkuLCkp
KSkpNJmghImJiYmJiYmJiYmJiYmJkFwFt7e3t7e3RkZKREZKRERGRkZKRkpEREpGRkpETpyypISIiYmJ
iYmJiYmJiYmJkFwFt7e3t7e3QkZGRkZGRkZGRkZGRkZGREZGRkJNnLKusq2NiYmJiYmJiYmJiYmJkFwF
t7e3t7e3RERGRkZGRkZGRkZGRkZGRkZGREubsq6urq+vn4iJiYmJiYmJiYmJkFwFt7e3t7e3SUZGRkZE
SURBQkJGRkZGRkRES5qyrq6urq6ysaSEiImJiYmJiYmJkFwJt7e3t7e3Ojs7Ozs8NVBSUk9ERkZGRkRK
l7Gurq6urq6urrKojYmJiYmJiYmJkFwJt7e3t7e3t7e3t7e3EWyysnVERkZGREmWsq6urq6urq6urq6y
r5+DiYmJiYmJkVwFt7e3t7e3t7e3t7e3D2yxsXVERkZESZWyrq6urq6urq6urq6usrGhhIOJiYmJkVwF
t7e3t7e3t7e3t7e3EmyxsXVERERClLGurq6urq6urq6urq6urq6vqIWJiYmKkFwFt7e3t7e3t7e3t7e3
Dm2xsXVERECTsa6urq6urq6urq6urq6urq6usq6fiYmKkFwFt7e3t7e3t7e3t7e3Dm2ysnVAQH2yrq6u
rq6urq6urq6urq6urq6urq6yoYSIilwFt7e3t7e3t7e3t7e3EmutrXQ9fK2nqKenp6enp62np6enp6en
p6etp6etraaKklwFt7e3t7e3t7e3t7e3EmqRkXF6ioqKioqKioqKiomJioqKioqKioqKioqKioqFkV4F
t7e3t7e3t7e3t7e3DlZfX1tpX15eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eaVUFt7e3t7e3t7e3t7e3
Gg4SDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8ODhIODhIOEhIZt7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3t7e3
t7e3t7e3t7e3t7e3t7e3t7e3////////AAD///////8AAOAAAAAABwAA4AAAAAAHAADgAAAAAAcAAPAA
AABABwAA8AAAAEAPAAD///////8AAP/+AAB//wAA//4AAH//AAD//8AD//8AAP//4Af//wAA///gB///
AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwA
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
wsOQABCEh/n/kzJOKq1u/QcAAAAASUVORK5CYII=
</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

View File

@ -124,16 +124,16 @@
<data name="tsbtnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIfSURBVFhH7ZdPS9xAGMZfKUiFiuAXKFXqRfBmi8U/F1Hr
wdseRGxqZiaZN60H8Rt4K+2l0g/QVrEFwS/gTfRoFTz02Jt4rhQrpdV3htlspju7m8kGQfCBH9mdmffJ
s5M32V24k0MdECXjxExhuJwGngwaPw9VKp3A4l0QeFUKHNeMc04JHK4zaZ9J455DXI6lhQx/0Cf4DCLe
8Ed+ghC/a5+XeApR1GPO0EJRMpoG4PjRjBYTl29SLyG3zWgLZQMIuWVGi0nI9ZqX9gvMTBNlAzD8Ykbz
i+ES7VykX3N8bwWYx18QJg/1XEO1E2BlpYvq/ulaJY7vUq8qYXxAMx163ql2AoRhN9X9JC70ey7fpl4W
clXPO2X1AG6a0XxKkgcwO/dX1ypZTWixo+edsgM0WdhA+rY1zSvwQ8arRtOdtQOo7XxmZvzEcIhqzzJe
NTwCKFRTnRDf6AFz1Bpax/EYguCPqa/HM0D53M4AQXBeiOpdkcUrgDIR8jkw1luIOH5MPvuWp98OUGO1
K4GJ5el5CS6pq5dBJE+9YfET8ptJv5ar3M4mLBPPABd0CV4AfzWgG0od86LWR9EIMHloed58E0q0PL13
QMhFEKIflrBPH/9Hjbvgrx9RPf3I1Y/onAGyP0pt1HeCH66HkEZ+NWdzSN06zqIyaRYgCO7Tor36opJY
WPhNuzxtztZAlco9WjxB/eD+21UUgVO6L+5kCeAaOZxlqQnAQFgAAAAASUVORK5CYII=
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIeSURBVFhH7ZfLShxBFIaPCJKAQcgLhBh0I7hTSYi6CVEX
Lmchoq1dVd112rgQ3yC7oBslD+CNJBDIC7gTXXoBFy7dSdaRYELI5VRR09Pl1Mx09TQBwR8+eqaqzt//
VJ/umYF7OdQBUTJGTBaGywngyYDx81Cl0gUs3geBf0uB41vjnFMCh+pM2ueVcc8hLkfTQoaX9Al2QMS7
/shtCPFC+yzgFURRjzlDC0XJyzQAxy0zWkxcvku9hPxsRlsoG0DID2a0mITcrHlpv8DMNFE2AMOPZjS/
GC7SzkX6NccNK8AMfocweaLnGqqdACsrD6nuj65V4rieelUJ4yOa6dDzTrUTIAwfUd034ka/53It9bKQ
q3reKasHcM+M5lOSdMPU9G9dq2Q1ocUXPe+UHaDJwgbSt61pXoHvM141mu6sHUBt5wsz4yeGg1T7NeNV
wyOAQjXVOXFCD5jT1tA6jmcQBL9MfT2eAcrnbgYIgutCVO+KLF4BlImQU8DY40LEcR/5HFqefjtAjdWu
BCaWp+cl+EldvQwiGfGGxcPkN5l+LVe5m01YJp4BbugSzANf6tcNpY55Ueuj6DkweWx5/v8mlGh5eu+A
kHMgxDNYxF59vI0ad8HfPKV6+pGrH9E5A2R/lNqo7wQ/XA8hjfxkzuaQunWcRWXSLEAQPKBFB/VFJTE7
+4N2ecKcrYEqlU5aPE794P7bVRSBr3Vf3MsSwD8RV2WjuxFNUgAAAABJRU5ErkJggg==
</value>
</data>
<data name="tsbtnClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -257,6 +257,9 @@
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>166, 17</value>
</metadata>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>166, 17</value>
</metadata>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>56</value>
</metadata>

View File

@ -108,7 +108,7 @@
</Reference>
<Reference Include="ImageBox, Version=2.2.1.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\..\..\..\模块化\MMImageBox\ImageBox\bin\Release\ImageBox.dll</HintPath>
<HintPath>..\..\..\..\..\..\模块化\MMImageBox\ImageBox\bin\Debug\ImageBox.dll</HintPath>
</Reference>
<Reference Include="Microsoft.ML.OnnxRuntime, Version=0.0.0.0, Culture=neutral, PublicKeyToken=f27f157f0a5b7bb6, processorArchitecture=MSIL">
<HintPath>packages\Microsoft.ML.OnnxRuntime.Managed.1.8.0\lib\netstandard1.1\Microsoft.ML.OnnxRuntime.dll</HintPath>
@ -314,7 +314,7 @@
<Reference Include="WindowsBase" />
<Reference Include="Yolo5, Version=1.0.0.0, Culture=neutral, processorArchitecture=AMD64">
<SpecificVersion>False</SpecificVersion>
<HintPath>bin\x64\Debug\Yolo5.dll</HintPath>
<HintPath>..\..\Dlls\Yolo5.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>

View File

@ -32,15 +32,48 @@
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.tsbtnSave = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.tsbtnSetPTPos = new System.Windows.Forms.ToolStripButton();
this.tsbtnSetLinePos = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.tsbtnShowPos = new System.Windows.Forms.ToolStripButton();
this.tsbtnClear = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.tsbtnClose = new System.Windows.Forms.ToolStripButton();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.textBox1 = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.textBox2 = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.textBox3 = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label();
this.textBox4 = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.textBox5 = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.textBox6 = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.textBox7 = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.textBox8 = new System.Windows.Forms.TextBox();
this.label9 = new System.Windows.Forms.Label();
this.textBox9 = new System.Windows.Forms.TextBox();
this.label10 = new System.Windows.Forms.Label();
this.textBox10 = new System.Windows.Forms.TextBox();
this.label11 = new System.Windows.Forms.Label();
this.textBox11 = new System.Windows.Forms.TextBox();
this.label12 = new System.Windows.Forms.Label();
this.textBox12 = new System.Windows.Forms.TextBox();
this.label13 = new System.Windows.Forms.Label();
this.textBox13 = new System.Windows.Forms.TextBox();
this.label14 = new System.Windows.Forms.Label();
this.textBox14 = new System.Windows.Forms.TextBox();
this.imageBox1 = new ImageToolKits.ImageBox();
this.toolStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// toolStrip1
@ -50,17 +83,15 @@
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsbtnSave,
this.toolStripSeparator2,
this.tsbtnSetPTPos,
this.tsbtnSetLinePos,
this.toolStripSeparator3,
this.tsbtnShowPos,
this.tsbtnClear,
this.toolStripSeparator1,
this.tsbtnClose});
this.toolStrip1.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.HorizontalStackWithOverflow;
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(814, 56);
this.toolStrip1.Size = new System.Drawing.Size(959, 56);
this.toolStrip1.TabIndex = 15;
this.toolStrip1.Text = "toolStrip1";
//
@ -80,47 +111,24 @@
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 56);
//
// tsbtnSetPTPos
//
this.tsbtnSetPTPos.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnSetPTPos.Image")));
this.tsbtnSetPTPos.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.tsbtnSetPTPos.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbtnSetPTPos.Name = "tsbtnSetPTPos";
this.tsbtnSetPTPos.Size = new System.Drawing.Size(74, 53);
this.tsbtnSetPTPos.Text = "设置PT选点";
this.tsbtnSetPTPos.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.tsbtnSetPTPos.ToolTipText = "设置PT";
this.tsbtnSetPTPos.Click += new System.EventHandler(this.tsbtnSetPTPos_Click);
//
// tsbtnSetLinePos
//
this.tsbtnSetLinePos.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnSetLinePos.Image")));
this.tsbtnSetLinePos.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.tsbtnSetLinePos.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbtnSetLinePos.Name = "tsbtnSetLinePos";
this.tsbtnSetLinePos.Size = new System.Drawing.Size(84, 53);
this.tsbtnSetLinePos.Text = "设置线宽选点";
this.tsbtnSetLinePos.Size = new System.Drawing.Size(60, 53);
this.tsbtnSetLinePos.Text = "返回点位";
this.tsbtnSetLinePos.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.tsbtnSetLinePos.ToolTipText = "设置线宽";
this.tsbtnSetLinePos.Click += new System.EventHandler(this.tsbtnSetLinePos_Click);
this.tsbtnSetLinePos.Visible = false;
this.tsbtnSetLinePos.Click += new System.EventHandler(this.tsbtnDelectPos_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(6, 56);
//
// tsbtnShowPos
//
this.tsbtnShowPos.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnShowPos.Image")));
this.tsbtnShowPos.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.tsbtnShowPos.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbtnShowPos.Name = "tsbtnShowPos";
this.tsbtnShowPos.Size = new System.Drawing.Size(84, 53);
this.tsbtnShowPos.Text = "显示所有标点";
this.tsbtnShowPos.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.tsbtnShowPos.ToolTipText = "显示标点";
this.tsbtnShowPos.Click += new System.EventHandler(this.tsbtnShowPos_Click);
//
// tsbtnClear
//
this.tsbtnClear.Image = ((System.Drawing.Image)(resources.GetObject("tsbtnClear.Image")));
@ -149,34 +157,317 @@
this.tsbtnClose.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.tsbtnClose.Click += new System.EventHandler(this.tsbtnClose_Click);
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.Location = new System.Drawing.Point(0, 56);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.imageBox1);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.groupBox1);
this.splitContainer1.Size = new System.Drawing.Size(959, 509);
this.splitContainer1.SplitterDistance = 680;
this.splitContainer1.TabIndex = 16;
//
// groupBox1
//
this.groupBox1.Controls.Add(this.label14);
this.groupBox1.Controls.Add(this.textBox14);
this.groupBox1.Controls.Add(this.label13);
this.groupBox1.Controls.Add(this.textBox13);
this.groupBox1.Controls.Add(this.label12);
this.groupBox1.Controls.Add(this.textBox12);
this.groupBox1.Controls.Add(this.label11);
this.groupBox1.Controls.Add(this.textBox11);
this.groupBox1.Controls.Add(this.label10);
this.groupBox1.Controls.Add(this.textBox10);
this.groupBox1.Controls.Add(this.label9);
this.groupBox1.Controls.Add(this.textBox9);
this.groupBox1.Controls.Add(this.label8);
this.groupBox1.Controls.Add(this.textBox8);
this.groupBox1.Controls.Add(this.label7);
this.groupBox1.Controls.Add(this.textBox7);
this.groupBox1.Controls.Add(this.label6);
this.groupBox1.Controls.Add(this.textBox6);
this.groupBox1.Controls.Add(this.label5);
this.groupBox1.Controls.Add(this.textBox5);
this.groupBox1.Controls.Add(this.label4);
this.groupBox1.Controls.Add(this.textBox4);
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.textBox3);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Controls.Add(this.textBox2);
this.groupBox1.Controls.Add(this.label1);
this.groupBox1.Controls.Add(this.textBox1);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Location = new System.Drawing.Point(0, 0);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(275, 509);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "点位数据";
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(71, 30);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(151, 21);
this.textBox1.TabIndex = 0;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(36, 33);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(29, 12);
this.label1.TabIndex = 1;
this.label1.Text = "PT1:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(36, 60);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(29, 12);
this.label2.TabIndex = 3;
this.label2.Text = "PT2:";
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(71, 57);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(151, 21);
this.textBox2.TabIndex = 2;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(36, 87);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(29, 12);
this.label3.TabIndex = 5;
this.label3.Text = "PT3:";
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(71, 84);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(151, 21);
this.textBox3.TabIndex = 4;
//
// label4
//
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(36, 114);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(29, 12);
this.label4.TabIndex = 7;
this.label4.Text = "PT4:";
//
// textBox4
//
this.textBox4.Location = new System.Drawing.Point(71, 111);
this.textBox4.Name = "textBox4";
this.textBox4.Size = new System.Drawing.Size(151, 21);
this.textBox4.TabIndex = 6;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(36, 141);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(29, 12);
this.label5.TabIndex = 9;
this.label5.Text = "PT5:";
//
// textBox5
//
this.textBox5.Location = new System.Drawing.Point(71, 138);
this.textBox5.Name = "textBox5";
this.textBox5.Size = new System.Drawing.Size(151, 21);
this.textBox5.TabIndex = 8;
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(24, 204);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(41, 12);
this.label6.TabIndex = 11;
this.label6.Text = "线宽1:";
//
// textBox6
//
this.textBox6.Location = new System.Drawing.Point(71, 201);
this.textBox6.Name = "textBox6";
this.textBox6.Size = new System.Drawing.Size(151, 21);
this.textBox6.TabIndex = 10;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(24, 231);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(41, 12);
this.label7.TabIndex = 13;
this.label7.Text = "线宽2:";
//
// textBox7
//
this.textBox7.Location = new System.Drawing.Point(71, 228);
this.textBox7.Name = "textBox7";
this.textBox7.Size = new System.Drawing.Size(151, 21);
this.textBox7.TabIndex = 12;
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(24, 258);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(41, 12);
this.label8.TabIndex = 15;
this.label8.Text = "线宽3:";
//
// textBox8
//
this.textBox8.Location = new System.Drawing.Point(71, 255);
this.textBox8.Name = "textBox8";
this.textBox8.Size = new System.Drawing.Size(151, 21);
this.textBox8.TabIndex = 14;
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(24, 285);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(41, 12);
this.label9.TabIndex = 17;
this.label9.Text = "线宽4:";
//
// textBox9
//
this.textBox9.Location = new System.Drawing.Point(71, 282);
this.textBox9.Name = "textBox9";
this.textBox9.Size = new System.Drawing.Size(151, 21);
this.textBox9.TabIndex = 16;
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(24, 312);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(41, 12);
this.label10.TabIndex = 19;
this.label10.Text = "线宽5:";
//
// textBox10
//
this.textBox10.Location = new System.Drawing.Point(71, 309);
this.textBox10.Name = "textBox10";
this.textBox10.Size = new System.Drawing.Size(151, 21);
this.textBox10.TabIndex = 18;
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(24, 339);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(41, 12);
this.label11.TabIndex = 21;
this.label11.Text = "线宽6:";
//
// textBox11
//
this.textBox11.Location = new System.Drawing.Point(71, 336);
this.textBox11.Name = "textBox11";
this.textBox11.Size = new System.Drawing.Size(151, 21);
this.textBox11.TabIndex = 20;
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(24, 366);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(41, 12);
this.label12.TabIndex = 23;
this.label12.Text = "线宽7:";
//
// textBox12
//
this.textBox12.Location = new System.Drawing.Point(71, 363);
this.textBox12.Name = "textBox12";
this.textBox12.Size = new System.Drawing.Size(151, 21);
this.textBox12.TabIndex = 22;
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(24, 393);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(41, 12);
this.label13.TabIndex = 25;
this.label13.Text = "线宽8:";
//
// textBox13
//
this.textBox13.Location = new System.Drawing.Point(71, 390);
this.textBox13.Name = "textBox13";
this.textBox13.Size = new System.Drawing.Size(151, 21);
this.textBox13.TabIndex = 24;
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(24, 420);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(41, 12);
this.label14.TabIndex = 27;
this.label14.Text = "线宽9:";
//
// textBox14
//
this.textBox14.Location = new System.Drawing.Point(71, 417);
this.textBox14.Name = "textBox14";
this.textBox14.Size = new System.Drawing.Size(151, 21);
this.textBox14.TabIndex = 26;
//
// imageBox1
//
this.imageBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.imageBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.imageBox1.ColorName = System.Drawing.Color.LimeGreen;
this.imageBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.imageBox1.DrawParam = null;
this.imageBox1.Image = null;
this.imageBox1.Location = new System.Drawing.Point(0, 56);
this.imageBox1.Location = new System.Drawing.Point(0, 0);
this.imageBox1.Margin = new System.Windows.Forms.Padding(0);
this.imageBox1.Name = "imageBox1";
this.imageBox1.Size = new System.Drawing.Size(805, 500);
this.imageBox1.TabIndex = 14;
this.imageBox1.Size = new System.Drawing.Size(680, 509);
this.imageBox1.TabIndex = 15;
//
// FrmGetPosByPic
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ActiveCaption;
this.ClientSize = new System.Drawing.Size(814, 565);
this.ClientSize = new System.Drawing.Size(959, 565);
this.Controls.Add(this.splitContainer1);
this.Controls.Add(this.toolStrip1);
this.Controls.Add(this.imageBox1);
this.Name = "FrmGetPosByPic";
this.Text = "图纸抓取点位";
this.Load += new System.EventHandler(this.FrmGetPosByPic_Load);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
@ -187,13 +478,41 @@
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.ToolStripButton tsbtnSave;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.ToolStripButton tsbtnSetPTPos;
private System.Windows.Forms.ToolStripButton tsbtnSetLinePos;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripButton tsbtnShowPos;
private System.Windows.Forms.ToolStripButton tsbtnClear;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripButton tsbtnClose;
private System.Windows.Forms.SplitContainer splitContainer1;
private ImageToolKits.ImageBox imageBox1;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.TextBox textBox14;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.TextBox textBox13;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.TextBox textBox12;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.TextBox textBox11;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.TextBox textBox10;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TextBox textBox9;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.TextBox textBox8;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.TextBox textBox7;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.TextBox textBox6;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox textBox5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox textBox4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox textBox3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox textBox1;
}
}

View File

@ -16,42 +16,94 @@ namespace ProductionControl.UI
{
public partial class FrmGetPosByPic : Form
{
private SizeLibProp sizeLibProp;
List<ImageBox.BaseDrawParam> pickARoi = new List<ImageBox.BaseDrawParam>();
Mat Img;
private TextBox[] tbArray = new TextBox[14];
string _Path;
public FrmGetPosByPic(SizeLibProp prop)
double[] _Points;
public FrmGetPosByPic(string map, double[] pointlist)
{
_Path = map;
_Points = pointlist;
pickARoi.Clear();
sizeLibProp = prop;
InitializeComponent();
//lbPoslist.Items.Clear();
this.imageBox1.SetLowLevelMode(14);
imageBox1.DrawOverAllEventHandler += imgBox_DrawOverAllEventHandler;
tbArray[0] = this.textBox1;
tbArray[1] = this.textBox2;
tbArray[2] = this.textBox3;
tbArray[3] = this.textBox4;
tbArray[4] = this.textBox5;
tbArray[5] = this.textBox6;
tbArray[6] = this.textBox7;
tbArray[7] = this.textBox8;
tbArray[8] = this.textBox9;
tbArray[9] = this.textBox10;
tbArray[10] = this.textBox11;
tbArray[11] = this.textBox12;
tbArray[12] = this.textBox13;
tbArray[13] = this.textBox14;
}
public string GetMapPath()
{ return _Path; }
public double[] GetPoints()
{
return _Points; }
void imgBox_DrawOverAllEventHandler(object sender, List<ImageBox.BaseDrawParam> e)
{
if (e.Count > 0)
{
imageBox1.RefreshWindow(imageBox1.Image, e, ImageBox.ImageModeEnum.Part);
this.pickARoi = imageBox1.GetLowPoints();
for (int i = 0; i < 14; i++)
{
if (i < e.Count)
tbArray[i].Text = "X:" + (e[i] as ImageBox.Point).Column.ToString("0.000") + ", Y:" + (e[i] as ImageBox.Point).Row.ToString("0.000");
else
tbArray[i].Text = "";
}
}
}
private void FrmGetPosByPic_Load(object sender, EventArgs e)
{
List<ImageBox.BaseDrawParam> roi = new List<ImageBox.BaseDrawParam>();
if (File.Exists(sizeLibProp.MapPath))
if (File.Exists(_Path))
{
Img = new Mat(sizeLibProp.MapPath);
//this.imageBox1.RefreshWindow(Img);
if (sizeLibProp.GetPointList.Length == (14 * 2))
Img = new Mat(_Path);
if ((_Points[0] != 0) && (_Points[2] != 0) && (_Points[4] != 0) && (_Points[6] != 0) && (_Points[8] != 0))
{
for (int i = 0; i < 14; i++)
//this.imageBox1.RefreshWindow(Img);
if (_Points.Length == (14 * 2))
{
//string pos = sizeLibProp.GetPointList[5 + 2 * i].ToString() + "," + sizeLibProp.GetPointList[5 + 2 * i +1].ToString();
//lbPoslist.Items.Add(pos);
ImageBox.BaseDrawParam point = new ImageBox.Point((float)sizeLibProp.GetPointList[2 * i + 1], (float)sizeLibProp.GetPointList[2 * i]);
roi.Add(point);
pickARoi.Add(point);
for (int i = 0; i < 14; i++)
{
//string pos = sizeLibProp.GetPointList[5 + 2 * i].ToString() + "," + sizeLibProp.GetPointList[5 + 2 * i +1].ToString();
//lbPoslist.Items.Add(pos);
ImageBox.BaseDrawParam point = new ImageBox.Point((float)_Points[2 * i + 1], (float)_Points[2 * i]);
tbArray[i].Text = "X:" + _Points[2 * i + 0].ToString("0.000") + ", Y:" + _Points[2 * i + 1].ToString("0.000");
roi.Add(point);
pickARoi.Add(point);
}
imageBox1.SetDrawPrms(pickARoi);
//imageBox1.RefreshWindow(Img, roi);
//imageBox1.Refresh();
}
imageBox1.RefreshWindow(Img, roi);
imageBox1.Refresh();
else if (_Points.Length > 0)
MessageBox.Show("点位数据错误!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else if (sizeLibProp.GetPointList.Length > 0)
MessageBox.Show("点位数据错误!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Error);
//else
//{
//imageBox1.RefreshWindow(Img, roi);
//imageBox1.Refresh();
//}
}
else
{
@ -59,7 +111,6 @@ namespace ProductionControl.UI
if (File.Exists(maop_path))
{
_Path = maop_path;
sizeLibProp.MapPath = maop_path;
Img = new Mat(maop_path);
this.imageBox1.RefreshWindow(Img);
}
@ -69,54 +120,25 @@ namespace ProductionControl.UI
return;
}
}
imageBox1.RefreshWindow(Img, roi);
imageBox1.Refresh();
imageBox1.DisplayROIs(roi);
}
private void tsbtnSetPTPos_Click(object sender, EventArgs e)
{
if ((imageBox1.DrawParam != null) && ((imageBox1.DrawParam as ImageBox.Point).IsValid()))
{
bool isSame = false;
foreach (var t in pickARoi)
{
if (((t as ImageBox.Point).Row == (imageBox1.DrawParam as ImageBox.Point).Row) && ((t as ImageBox.Point).Column == (imageBox1.DrawParam as ImageBox.Point).Column))
isSame = true;
}
if (!isSame)
pickARoi.Add(imageBox1.DrawParam);
else
MessageBox.Show("点位相同!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void tsbtnSetLinePos_Click(object sender, EventArgs e)
{
if ((imageBox1.DrawParam != null) && ((imageBox1.DrawParam as ImageBox.Point).IsValid()))
{
bool isSame = false;
foreach (var t in pickARoi)
{
if (((t as ImageBox.Point).Row == (imageBox1.DrawParam as ImageBox.Point).Row) && ((t as ImageBox.Point).Column == (imageBox1.DrawParam as ImageBox.Point).Column))
isSame = true;
}
if (!isSame)
pickARoi.Add(imageBox1.DrawParam);
else
MessageBox.Show("点位相同!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void tsbtnShowPos_Click(object sender, EventArgs e)
{
imageBox1.RefreshWindow(Img, pickARoi, ImageBox.ImageModeEnum.Zoom);
}
private void tsbtnClear_Click(object sender, EventArgs e)
{
if (MessageBox.Show("是否清空所有点位?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information) == DialogResult.OK)
{
pickARoi.Clear();
this.imageBox1.ClearLowPoints();
this.imageBox1.RefreshWindow(Img);
for (int i = 0; i < 14; i++)
{
tbArray[i].Text = "";
}
}
}
@ -127,30 +149,37 @@ namespace ProductionControl.UI
private void tsbtnSave_Click(object sender, EventArgs e)
{
pickARoi = this.imageBox1.GetLowPoints();
if (pickARoi.Count == 14)
{
sizeLibProp.GetPointList = new double[14 * 2];
_Points = new double[14 * 2];
for (int i = 0; i < 14; i++)
{
sizeLibProp.GetPointList[2 * i] = (pickARoi[i] as ImageBox.Point).Column;
sizeLibProp.GetPointList[2 * i + 1] = (pickARoi[i] as ImageBox.Point).Row;
_Points[2 * i] = Math.Round((pickARoi[i] as ImageBox.Point).Column,3);
_Points[2 * i + 1] = Math.Round((pickARoi[i] as ImageBox.Point).Row,3);
}
sizeLibProp.MapPath = _Path;
this.DialogResult = DialogResult.OK;
}
else if (pickARoi.Count >0)
MessageBox.Show("点位设置错误,点数不对!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Error);
else
{
sizeLibProp.GetPointList = new double[14 * 2];
_Points = new double[14 * 2];
for (int i = 0; i < 14; i++)
{
sizeLibProp.GetPointList[2 * i] = 0;
sizeLibProp.GetPointList[2 * i + 1] = 0;
_Points[2 * i] = 0;
_Points[2 * i + 1] = 0;
}
}
}
private void tsbtnDelectPos_Click(object sender, EventArgs e)
{
this.imageBox1.DelectOntPoint();
this.pickARoi.RemoveAt(pickARoi.Count - 1);
}
}
}

View File

@ -124,46 +124,16 @@
<data name="tsbtnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIdSURBVFhH7ZdBS9xAFMefFEShRfALiC31UvBmS8Xai1T7
AXIQ0WhmJpkX60H6DXoTe2npB2itqCD0C/QmemwVPHj0Jj23FBWp+maYzWbc2d1MNhQE//AjuzPz/vnv
5CW7C3dyqAvidJyYKg2Xk8DTJ8bPQ0HQDSz5DgKvKoHjO+NcUAJHGkw6Z8K4FxCXL7JChsf0CdZAJF/9
kV8gwiPtM48nEMd95gxtFKdjWQCOn81oOXG5knkJuW1G2ygfQMgNM1pOQn6se2m/0My0UD4Aw00zWlwM
F2jnYv2a4wcrwDT+hSgd0HNN1UmA5eVeqrvUtUoc32deNaJkj2a69LxTnQSIogdU95s41e+5XM28LORb
Pe+U1QO4bkaLKU3vQzD9T9cqWU1o8U3PO2UHaLGwifRta5pX4KecV52WO2sHUNs5amb8xHCYan/lvOp4
BFCopjokftIDZr89tI7jAYThhalvxDNA9dzOAGH4pxS1uyKPVwBlIuRrYKy/FEnymHx2LU+/HaDG6lQC
U8vT8xKcU1cvgUifecOSp+Q3lX0t17idTVglngFO6RLMAV8c0g2ljkVR6+P4OTD5w/L8/00o0fL03gEh
Z0GIR7CAD/XxJmrcBX8zSPX0I1c/ogsGyP8otVHfCX64HkIauWXO5pC6dZxFVdIqQBj20KKdxqKKmJk5
o12eNGdroiC4R4tfUj+4/3aVReAr3Rd3sgRwDfSiZevD7cv7AAAAAElFTkSuQmCC
</value>
</data>
<data name="tsbtnSetPTPos.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
0MR3PqwIhTUAAAAASUVORK5CYII=
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIfSURBVFhH7ZdNa9RAGMefIpQKSsEvUFTsRfDWFsWXi7jr
VUhBiqabmUnmiXoofgNvohfFD+BL0UKhX8CbtEet4KHH3sRzpWxFfHlmmM1m3NlsJgnCwv7hR3Zn5vnn
v5Mn2V2YyKEpiNOrRLsyXLaAp+eNn4eCYBpY8h4E/mkEjo+Mc0kJXBgwqc91415CXF7JChnu0yd4DSJ5
4498BRHuaZ9V/ApxPGvOMEJxejkLwPGlGa0mLh9nXkJumtERygcQ8q0ZrSYhn/e9tF9oZgqUD8DwnRkt
L4Yd2rlYv+b4zApwGw8hSuf03FDVCbC2dpzqfutaJY5PM68eUbJDM1N63qk6AaLoJNUdEF39nssnmZeF
fKjnnbJ6ANfNaDml6Qm4tfxL1ypZTWixpeedsgMULBwifdua5hX4IufVp3Bn7QBqOy+ZGT8xvEC133Je
fTwCKFRTfSE+0QNmdzS0juNnCMOfpn4QzwDNM54BwvB7JXp3RR6vAMpEyJvA2KlKJMk58tm2PP12gBqr
rgSmlqfnJfhBXf0ARLrkDUsWya+dfS33GM8mbBLPAF26BHeB35vXDaWOZVHr4/giMPnR8vz/TSjR8vTe
ASHvgBBnoYNn9PFf1LgLfv801dOPXP2ILhkg/6PURn0n+OF6CGnkhjmbQ+rWcRY1SVGAMJyhRR8Gixpi
ZeWIdrllzjZEQXCMFl+jfnD/7aqKwBu6LyayBPAXe9Nl2fMEcA4AAAAASUVORK5CYII=
</value>
</data>
<data name="tsbtnSetLinePos.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -194,36 +164,6 @@
HRU3Pz9PCdriBQHS+OaNcrBiY5GSmEB/S/z9Mk5TB1EHrx38rk709jyEoK+PeCn1LylgNBrpSPtYCZC2
FzPZKOdwqGPXZDJRpZQQqySTkgn0+knikFn6jLe3UltYCZATxJ8/h/CQICKxFlMGg81kzmLJHvj/AP4F
0MR3PqwIhTUAAAAASUVORK5CYII=
</value>
</data>
<data name="tsbtnShowPos.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
</value>
</data>
<data name="tsbtnClear.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View File

@ -30,9 +30,11 @@ namespace ProductionControl.UI
public string SizeTag { get; set; }
//2023-10-27 新增图纸选点
[PropertyOrder(1), Browsable(true), Category("1 数据"), DisplayName("1.6 图纸图片"), Description("图纸图片文件名")]
[PropertyOrder(1), Browsable(true), Category("1 数据"), DisplayName("1.6 使用点位"), Description("是否使用图纸抓取的点位")]
public bool UseMapPoints { get; set; }
[PropertyOrder(1), Browsable(true), Category("1 数据"), DisplayName("1.7 图纸图片"), Description("图纸图片文件名")]
public string MapPath { get; set; }
[PropertyOrder(1), Browsable(true), Category("1 数据"), DisplayName("1.7 抓取位置"), Description("图纸上选取的点位根据选取的5个PT点9个线宽点计算真是走位。")]
[PropertyOrder(1), Browsable(true), Category("1 数据"), DisplayName("1.8 抓取位置"), Description("图纸上选取的点位根据选取的5个PT点9个线宽点计算真是走位。")]
//public double[] GetPointList { get; set; } = new double[23];//默认对应0和2号AXIS
public double[] GetPointList { get; set; } = new double[23] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };

View File

@ -38,11 +38,11 @@
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.tbtnExport = new System.Windows.Forms.ToolStripButton();
this.tbtnImport = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.tbtnGetPos = new System.Windows.Forms.ToolStripButton();
this.propertyGrid1 = new System.Windows.Forms.PropertyGrid();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.txtLog = new System.Windows.Forms.ToolStripStatusLabel();
this.tbtnGetPos = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.toolStrip1.SuspendLayout();
this.statusStrip1.SuspendLayout();
this.SuspendLayout();
@ -131,12 +131,27 @@
this.tbtnImport.Text = "导入";
this.tbtnImport.Click += new System.EventHandler(this.tbtnImport_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 31);
//
// tbtnGetPos
//
this.tbtnGetPos.Image = ((System.Drawing.Image)(resources.GetObject("tbtnGetPos.Image")));
this.tbtnGetPos.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tbtnGetPos.Name = "tbtnGetPos";
this.tbtnGetPos.Size = new System.Drawing.Size(84, 28);
this.tbtnGetPos.Text = "点位抓取";
this.tbtnGetPos.Visible = false;
this.tbtnGetPos.Click += new System.EventHandler(this.tbtnGetPos_Click);
//
// propertyGrid1
//
this.propertyGrid1.Dock = System.Windows.Forms.DockStyle.Fill;
this.propertyGrid1.LineColor = System.Drawing.SystemColors.ActiveCaption;
this.propertyGrid1.Location = new System.Drawing.Point(0, 31);
this.propertyGrid1.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.propertyGrid1.Margin = new System.Windows.Forms.Padding(2);
this.propertyGrid1.Name = "propertyGrid1";
this.propertyGrid1.Size = new System.Drawing.Size(672, 361);
this.propertyGrid1.TabIndex = 33;
@ -160,20 +175,6 @@
this.txtLog.Name = "txtLog";
this.txtLog.Size = new System.Drawing.Size(0, 17);
//
// tbtnGetPos
//
this.tbtnGetPos.Image = ((System.Drawing.Image)(resources.GetObject("tbtnGetPos.Image")));
this.tbtnGetPos.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tbtnGetPos.Name = "tbtnGetPos";
this.tbtnGetPos.Size = new System.Drawing.Size(84, 28);
this.tbtnGetPos.Text = "点位抓取";
this.tbtnGetPos.Click += new System.EventHandler(this.tbtnGetPos_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 31);
//
// UISizeLib
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@ -181,7 +182,7 @@
this.Controls.Add(this.propertyGrid1);
this.Controls.Add(this.statusStrip1);
this.Controls.Add(this.toolStrip1);
this.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.Margin = new System.Windows.Forms.Padding(2);
this.Name = "UISizeLib";
this.Size = new System.Drawing.Size(672, 414);
this.toolStrip1.ResumeLayout(false);

View File

@ -245,8 +245,8 @@ namespace ProductionControl.UI
//2023- 10-27 新增图纸选点
private void tbtnGetPos_Click(object sender, EventArgs e)
{
FrmGetPosByPic frm = new FrmGetPosByPic(prop);
frm.ShowDialog();
//FrmGetPosByPic frm = new FrmGetPosByPic(prop);
//frm.ShowDialog();
}
}
}

View File

@ -124,50 +124,50 @@
<data name="tsbtnOpenDev.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
ENzL61/d2p1S7CtfNAAAAABJRU5ErkJggg==
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
I3hAwL+/HJ1QMufZxQAAAABJRU5ErkJggg==
</value>
</data>
<data name="tbtnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIdSURBVFhH7ZdPaxNBGMbfIJQKlkK/QFHRi+BNS4t/LmLS
D5Bj3O7OzO68qx6C38Cb6MXSD9CqWKHQL+BN2mOr4MFjb8WzUlqR/nlnmGx2zCTZ2SxCIA/82GRm3mef
zL67SWAih2oQpw+IRmm4rANPbxk/DzWbU8CSzyDwvBI4vjTOBSXwTo/J6Dwy7gXE5f2skOEBfYJ3IJL3
/sgNiPCH9lnBQ4jjWXOGIYrTe1kAjutmtJy4fJV5CbllRocoH0DIj2a0nIRc7Xppv8DMDFA+AMNNM1pc
DEPauVi/5vjWCtDCI4jSeT3XV6MEaLcvU92ZrlXi+Cbz6hAluzRT0/NOjRIgimao7hdxrN9z+TrzspAv
9LxTVg/gBzNaTGl6BVrhqa5VsprQYlvPO2UHGLCwj/Rta5pX4FrOq8vAnbUDqO1cMjN+Yniban/mvLp4
BFCopvpO7NMD5utwaB3HbxCEf019L54Bqmc8AwTh71J07oo8XgGUiZDLwNhcKZLkBvnsWJ5+O0CNNaoE
ppan5yX4Q139HES64A1L7pJfI/ta7jCeTVglngGO6RI8Af70pm4odSyKWh/Hi8DknuX5/5tQouXpvQNC
tkCI6xDiNX38FzXugj+7SvX0I1c/ogsGyP8otVHfCX64HkIa+cmczSF16ziLqmRQgCCYpkVfeosqohWe
0C7Xzdn6qNm8RIsfUj+4/3aVReBj3RcTWQK4AF41Zkfj/gngAAAAAElFTkSuQmCC
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIeSURBVFhH7ZdPSxtBGMZfKUiFiuAXkFb0UuitFaV/LsXo
B8gt7a47M7vzbtuD9Bv0VuxF6QdoVbRQ6BfoTerRKvTg0VvpuSK2iH/eGSabnWaS7GyWQsAHfmwyM++z
T2bf3SRwLYeGIE4fEwul4bIGPL1r/DxUrw8DS76CwMtK4PjGOBeUwPttJv3z1LgXEJePskKGR/QJ1kEk
G/7IjxDhofYJ8SfE8Zg5Qw/F6cMsAMcPZrScuHybeQn52Yz2UD6AkFtmtJyEXGt5ab/AzHRRPgDDbTNa
XAyXaOdi/ZrjqhWggScQpRN6rqP6CbC8PEJ1F7pWieO7zKtJlOzSzJCed6qfAFE0SnW/iVP9nsuVzMtC
vtbzTlk9gJtmtJjS9BY0wnNdq2Q1ocUXPe+UHaDLwg7St61pXoHvc14tuu6sHUBt55yZ8RPDe1T7K+fV
wiOAQjXVD+I7PWD2e0PrOB5AEJ6Z+nY8A1TPYAYIwuNSNO+KPF4BlImQi8DYeCmSZIp8vlmefjtAjdWv
BKaWp+cl+Etd/QpEOuMNSx6Q30L2tdxkMJuwSjwDnNIleA78xbRuKHUsilofx7PA5J7l+f+bUKLl6b0D
Qj4DISZhCe/o47+ocRf85W2qpx+5+hFdMED+R6mN+k7ww/UQ0shP5mwOqVvHWVQl3QIEwU1atNNeVBGN
8A/tcs2crYPq9Ru0+An1g/tvV1kEzuu+uJYlgCuxGmYu25SKJQAAAABJRU5ErkJggg==
</value>
</data>
<data name="tbtnRun.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -187,41 +187,40 @@
<data name="tbtnDebug.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAANWSURBVFhHtVdbS1RRGF1GGF2hwqdIIughKe2hp3pMhHoJ
okGFMMfLeCkzCeyxp4LIXxFRPRT0E0opwuwmQVA9FJSkqaNOt8m5tJZ9W2d065xj44LFOWfv71vf2t8+
sz1itehAQ2UNamrFc2g8aMNrj/OIVrWj5X4bmkYa0ZgQda+xTpw9ZGFrg05E69vQmoohlvWxBU3pdjTV
WXhxoZXH0OotnEuZ0PZYWvHQhuaHvoI+KtbSwuEBcPgKUGqP8+hCtKwZzWlfsWWY6UHDLkufRxewQTXs
MR8/gBu/gewvYPApsM2G51CN6v2taMqQ6RZEC5IvZLYDZ45Y+hykKe0ka6iWDS9ghoNZTooMfPYW2GpT
iKCitBsn93SjNjAjiMx3UlrSdPqs1WdTC2Dr130H7mQWTAy+AbbY9KohDWlJU9qscVe1bHopZMI5/QO8
ZPL1/6E0nJ60rczKyO1EMWgrD1ZcYIvW82WZ8Ik5poAkOWpM+mIcpSVNky8M7lspk0Z9Yo4s+pgr2yjq
3hfjKC1pmnxhPKEok8Z8Yo4s+sjCoXtfjKO0pGnhhRHQwICFy8CAL8YxtAGiRG3ziTmGNDDKsJJ/0R5M
AzsZWM793C3yRNzHpPHFQrkMaWBcmk6fY+VTwI655G/AVf5W4xRJGWftmlkslEvOBzYgLdN02imaitNE
nwz0+5IKkSKBDSxHdv4V2JLNP4F6XnuMF9mRXjqc8SU5hjEgLWlK29VRzS/AJpNYCiZ99Ik5hjTwyUKD
YxZ47hNzDGOAWi8sNDj4h+SWT8wxjAH+Am5aaHDwDY1wr7yCYlAD0ogDpyw0HLh3y54FQQ2w/e8tLBz4
2XSNwrM+UTGEgRFew/2/wD274NrPLiR9W1HIgHJcHk3E+T1QZeErg3tfl7ZEGpkaASoSwCUaSeUWYNF+
S5GBvMNMsTxkepjXnbOQyQlg5X/heCoec4V0ZcJRm8JXoJK/jHs0lZAoiw7blAwMyzTnJrnS24ydL8Tn
3pwFTUxSx6byYR+PcQWqAL9cT9tUHt4BZeNADc2dsCHw/jjHqulouw3lgSYuu07QxJj3Y3eIxyKPx9dc
eYIvYMyGiwZqdlF7mkfykGrZcD4+AAd4PtfbY9HxmWcLz+S99kgAfwGHr/fljaLmpgAAAABJRU5ErkJg
gg==
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAANRSURBVFhHtVdbS1RRGF1GGF2hwqdIIughKe2hp3pMhHoJ
okGFUGfU8VJmEthjTwWRvyKieijoJ5RShNlNgqB6KChJU0edbpPjTGvZt3VGt845Ni1YnHP2/r71rX1h
zx6sFR1oqKxBTa14Fk0Hrfn/4xyiVe1oudeG6EgjGpOi3tXWicZDFvZ/0IlofRta03HEsz42IzrXjlid
hRcXGnkcrd7CuZQJLY+lFQ9taH7gK+ijYi0tHO4Dhy8Dpfa5gC5Ey2KIzfmKrcBMDxp2WfoCuoANqmGf
+fgOXP8FZH8Cg0+AbdY8j2pU729FLNPC6W1GU0FyQ2Y7cOaIpc9DmtJOsYZqWfMiZtiYZafIwKdvgK3W
hQgqSrtxck83agMzgsjCTEpLmk6ftfqsaxGc+nXfgNuZRRODr4Et1r1mSENa0pQ2a9xRLeteDplwTn8D
L5h87V8oDacnbSuzOnJnohi0kQcrLnCK1nNDTvjEHGeBFDlqTPliHKUlTZMvDK5bKXfrqE/MMQ084sg2
inr3xThKS5omXxiPKUrXYz4xRxZ9aOHQuy/GUVrStPDCCGhgwMJlYMAX4xjaAFESYAkCG5AWw0r+Rnsw
DexkYDnXc7dIx/vI8aVCuQw5A+PSdPpsK58CdswnfwWu0GGCOzltnLVnZqlQLsMYkNYS7TQNJWiiTwb6
fUmFGMbASuTMvwSnZPMPoJ7PHuMFnl69dDjjS3IMY0Ba0pS2q6Oan4FNJrEcXJYPPjHHMAao9dFCg4Pr
9Mwn5hjGALWeW2hw8Ifkpk/MMYwBLsENCw0O7tAI18orKAY1II0EcMpCw4HOVzwLghrg9L+zsHDgtekq
k2d9omJQA9z9I3yG+7/AkZ9308/3lG8pChlQjsujiQTvA1UWvjq49nVzlsiNODUCVCSBizSSzi3Aov2W
IgN5h5liecj0MK87ZyCTE8Dqf+F4Kh5zhfRkwlHrwhegkobukkmJsuiwdcnAsEyzb5IjvcXYhUL87s0Z
0MQkdawrH3Z5TChQBXhzPW1deXgLlI0DNTR3wprA9+Nsq6aj7daUB5q4lDMTY97L7hCPRR6PrxiQ5AaM
W3PRQM0uak9zPwypljXn4z1wgOdzvX0WHZ94tvBM3mufBPAH20T3m+5sU50AAAAASUVORK5CYII=
</value>
</data>
<data name="tbtnExport.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
AAAAAElFTkSuQmCC
</value>
</data>
@ -229,20 +228,20 @@
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMwSURBVFhH7VfNaxNREE9FVFQUq2m7u9mkn6YEIn6Agpd6
afGmhyL4DygIolBrd9/udjFt1IoXQehJ9CCiUMGrHrQXEb1YBEFEvQiKEOtHW9I02Xm+t5nXJu1mN21K
QegPhmx+b2beb+fNziahUigGPSYR57kykP/SpOU/VjJJy39SSP69osM+DK0dkgY9Msl9Vwil1ZpMoB/D
a4NsQlzqz33DxPcU4gwpujMsEyddydh6ShqgUUxRG9iGz4p35KSRWlsoZzMOFxAxIYmUJ1pT0BEznBvt
NuxAagn2pmlniwXdzKcnmYKkbdMNuFQZWHpWAbofKU+ohjPm+prOE6RcJGyoj5nOkKrlP0SMYq4IN3bN
G5atjSSu+xyXECAROIiUJ9hRPRW+zQac51ybTU9Kxnz/zG9e+p2beml6KmbBRTfRYginIAGqVXg1n/Ty
zJ+o4YyKOw4yVl33k1Vj7Pgt2IwpixBOQQIiRuGt8F2ucaGiMlGDjodsuhHTVi+giRQmhG+txvrpTpcQ
IcjAI2BNVpqkGmswspMqKbyJaIWXkl54FzGmpsWayo7DTSwIPwH83JYzKVnyFy029Cav0V2YwkVLGhpb
B+F01HQeRi16xiVFkJ8AyaZbFT33o3QTL6s3MrPNInG1EMG1Cgify+TiQ3AUQ6qHSBBwBOGouXB+nsYm
KpuA3s96iNbhxVKIBH4Cum7SPTsv/MoGPfd8PTEMhzGsCDaOZdaIbJDdRqYcIthPQIjSOtbNE2Kg+Bl/
Wrru0i0YGQrbdDvn+VOAVDlEoK8AhngK4qrlPJaN/GfJyMyJOC9rtpxhDHMF8P7gVUCqHCIoSIAAf8Ml
bBrlb72YCX1svN7n1VGNmb8L0855hO6rL6ASOq/C7g4LjrTZcKo9DWGk105AJawLWBfw/wiQB+AAUquK
xj7YVk8ysz4CMsAFBP0sXynY0NokkcycpBVeI1UONt/H3SroQJBaVUg6dBfzOw+QKoek0UNhLfsTnUZl
HUxmgzUbAYu9AUckQn/z3Pz/J265FKwBTzSQ7KQrYpWNl58JuYJbVQY7gt4GMvfVK8lKzb17nWq4xSKE
Qv8A7O40mQFf7ZYAAAAASUVORK5CYII=
afGmhyL4D/QgiEKt3X2728W0USteBKEn0YOIQgWvetBeRPRiEQQR9SIoklo/2pKmyc7zvc28NmmT3bQJ
BaE/GLL5vZl5v503O5sECqEY9IREnOfKYPZLk5b9WM4kLftJIdn3ig4HMLR6SBr0yCTzXSGUVmoygQEM
rw6yCVFpIPMNE99TiDOs6M6ITJxkOWPrCWmQhjFFdWAbPsvfkZNEan2h9KUcLiBkQhypkmhNQEfEcG60
27ALqRXYn6SdLRZ0M5+eeALitk034VJ5YOlZBehBpEpCNZxx19d0niDlImZDfcR0hlUt+yFk5HOFuLFr
3rBsbTR23eO4hACJwGGkSoId1VPh22zAec612fS0ZCz2z+Lmhd+5qZdmZyIWXHQTLYdw8hOgWrlXi0kv
z/0JG86YuGM/Y9V1P1k1xk/egq2YMg/h5CcgZOTeCt/VGhcqKhM26ETAppsxbeUCmkhuUvhWa6yf7nQJ
EYL0PQLWZIVJKrEGIz2tktybkJZ7Kem5dyFjZlasqew43MSC8BLAz201k5Ilf9FiQ2/8Gt2DKVy0JKGx
dQjOhk3nYdiifS4pgrwESDbdruiZH4WblLJ6Y2q+WSSuFCK4WgHBc6lMdBiOY0jlEAl8jiAYNpfOr6Sx
icomYOlnPUDr8GIlRAIvAV036b7dF36l/Z57vh4bgaMYlgcbxzJrRDbIbiNTDBHsJSBAaR3r5kkxULyM
Py1dd+k2jAwEbbqT8/wpQKoYItBTAEM0AVHVch7LRvazZKQWRFwpa7acEQxzBfD+4FVAqhgiyE+AAH/D
xWwa5m+9iAn9bLze59VRjbm/S9POeYTutRdQDp1XYW+HBcfabDjTnoQg0usnoBw2BGwI+H8EyINwCKma
orEfdtSTqXkPASngAvx+lq8VbGhtkUhqQdJyr5EqBpvvE24VdCBI1RSSDt35/M4DpIohafRIUEv/RKcx
WQeT2VDVRsBib8BRidDfPDf//4lbrgRrwFMNJD3tiqix8fIzIVdwq/JgR9DbQBa+lkqyVnPvXqcabrEM
gcA/e1E0hw3qkk4AAAAASUVORK5CYII=
</value>
</data>
<data name="tbtnGetPos.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View File

@ -103,6 +103,15 @@ namespace Models
[Navigate(NavigateType.OneToMany, nameof(Order.ProductId))]
public List<Order> OrderList { get; set; }//注意禁止给books手动赋值,也不能new初始化否则导航查询不到
//2023-11-2 加入mark使用
//mark类型 0无mark
public int MarkType { get; set; }
//mark尺寸
public double MarkSize { get; set; }
//抓点图像
public string MapPath { get; set; }
//抓取点位
public string GetPointList { get; set; }
}
/// <summary>
/// 结束的批次才加入