From cb61a204c29e9b14d0b3f4e677d8489fc40cba51 Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期三, 24 十二月 2025 11:20:33 +0800
Subject: [PATCH] 增加多流程JSON保存以及加载。

---
 LB_VisionProcesses/Alogrithms/Halcon/2D/HFindModelTool/HFindModelToolEdit.Designer.cs           |    4 
 LB_VisionProcesses/LB_VisionProcesses.csproj                                                    |    3 
 LB_SmartVision/Forms/Pages/SettingPage/CsvPage.Designer.cs                                      |    4 
 LB_VisionControl/ScriptEditControl/ClassFileList.resx                                           |   60 
 LB_VisionFlowNode/MainForm.resx                                                                 |  272 ++++----
 LB_VisionControl/ScriptEditControl/ComplieUI.Designer.cs                                        |  262 +++---
 LB_SmartVision/Forms/CreateProductForm.resx                                                     |    2 
 LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorForm.Designer.cs                        |    3 
 LB_SmartVision/Forms/CreateProductForm.Designer.cs                                              |    3 
 LB_VisionControl/ScriptEditControl/ClassFileList.Designer.cs                                    |   76 +-
 LB_VisionControl/UserHSmartWindowControl.resx                                                   |    4 
 LB_SmartVision/Forms/Pages/CameraPage/CameraForm.Designer.cs                                    |    3 
 LB_VisionProcesses/ref/MVSDKmd.dll                                                              |    0 
 LB_VisionProcesses/Communicators/SiemensS7/SiemensLBS7.cs                                       |   12 
 LB_VisionProcesses/Alogrithms/Halcon/2D/HFindModelTool/HFindModelToolEdit.resx                  |    4 
 LB_SmartVision/Forms/Pages/SettingPage/LayoutSettingControl.Designer.cs                         |    4 
 LB_VisionProcesses/Alogrithms/Halcon/2D/HFindCode2dTool/HFindCode2dToolEdit.resx                |   11 
 LB_SmartVision/Forms/Pages/ProcessPage/ProcessPage.Designer.cs                                  |    2 
 LB_VisionProcesses/Alogrithms/Halcon/2D/HFindMultiModelTool/HFindMultiModelToolEdit.resx        |    4 
 LB_VisionControl/ScriptEditControl/ScriptEditForm.Designer.cs                                   |   14 
 LB_VisionProcesses/Alogrithms/BaseAlgorithm/TestTool/TestToolEdit.resx                          |    4 
 LB_SmartVision/Form1.Designer.cs                                                                |    4 
 LB_VisionProcesses/Alogrithms/BaseAlgorithm/TestTool/TestToolEdit.Designer.cs                   |    4 
 LB_VisionProcesses/ProcessEditForm.Designer.cs                                                  |    4 
 LB_VisionProcesses/ProcessEditForm.resx                                                         |    2 
 LB_VisionControl/ScriptEditControl/ComplieUI.resx                                               |   74 +-
 LB_SmartVision/Forms/Pages/ProcessPage/ProcessInputsSelectForm.resx                             |  180 ----
 LB_SmartVision/Forms/Pages/SettingPage/RunSettingPage.Designer.cs                               |    4 
 LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorsEditPage.Designer.cs                   |    2 
 LB_VisionProcesses/Cameras/2DCameraForm.Designer.cs                                             |  274 +++----
 LB_SmartVision/VisionForm.cs                                                                    |  109 ++
 LB_VisionProcesses/Forms/GlobalVarForm.Designer.cs                                              |   70 +-
 LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.resx                                     |   38 
 LB_VisionProcesses/Communicators/CommunicatorForm.resx                                          |   38 
 LB_SmartVision/Forms/Pages/SettingPage/CsvSettingControl.Designer.cs                            |    4 
 LB_SmartVision/Forms/Pages/CommunicatorPage/CreateCommunicatorForm.resx                         |    4 
 LB_VisionFlowNode/MainForm.Designer.cs                                                          |    4 
 LB_SmartVision/Forms/Pages/ProcessPage/ProcessInputsSelectForm.Designer.cs                      |   36 
 LB_SmartVision/Forms/Pages/SettingPage/SettingEditPage.Designer.cs                              |   14 
 LB_VisionControl/ScriptEditControl/ConsoleTextBox.resx                                          |   54 
 LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.Designer.cs                |    2 
 LB_VisionProcesses/Communicators/MES/LBMES.cs                                                   |   12 
 LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlEditPage.Designer.cs                  |    2 
 LB_SmartVision/VisionForm.Designer.cs                                                           |    1 
 LB_VisionProcesses/Processes/ScriptTool/ScriptToolEdit.Designer.cs                              |    4 
 LB_SmartVision/Forms/Pages/CommunicatorPage/CreateCommunicatorForm.Designer.cs                  |   62 -
 LB_SmartVision/Forms/Pages/ProcessPage/ProcessOutputsSelectForm.Designer.cs                     |    4 
 LB_VisionControl/UserHSmartWindowControl.Designer.cs                                            |    4 
 LB_SmartVision/Forms/Pages/CameraPage/CameraForm.resx                                           |    2 
 LB_VisionProcesses/Alogrithms/Halcon/2D/HFindMultiModelTool/HMulitModelControl.Designer.cs      |    4 
 LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs                                                |  134 +++
 LB_VisionProcesses/Communicators/CommunicatorForm.Designer.cs                                   |    6 
 LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.Designer.cs                              |    5 
 LB_SmartVision/Forms/Pages/MESPage/MESEditPage.Designer.cs                                      |    2 
 LB_VisionProcesses/Alogrithms/Halcon/2D/HBlobTool/HBlobToolEdit.Designer.cs                     |    4 
 LB_SmartVision/Forms/Pages/SettingPage/LayoutPage.Designer.cs                                   |    4 
 LB_VisionProcesses/Alogrithms/Halcon/2D/HFindCode2dTool/HFindCode2dToolEdit.Designer.cs         |    4 
 LB_VisionProcesses/Forms/GlobalVarControl.Designer.cs                                           |    4 
 LB_VisionProcesses/Alogrithms/Halcon/2D/HFindLineTool/HFindLineToolEdit.resx                    |   11 
 LB_VisionFlowNode/FlowNodeEditor.Designer.cs                                                    |    4 
 LB_VisionProcesses/Alogrithms/Halcon/2D/HFindLineTool/HFindLineToolEdit.Designer.cs             |   28 
 LB_VisionControl/ScriptEditControl/ScriptEditControl.Designer.cs                                |   16 
 LB_SmartVision/Forms/Pages/CameraPage/CamerasEditPage.Designer.cs                               |    2 
 LB_VisionProcesses/Alogrithms/Halcon/2D/HFindMultiModelTool/HFindMultiModelToolEdit.Designer.cs |   32 
 64 files changed, 1,028 insertions(+), 995 deletions(-)

diff --git a/LB_SmartVision/Form1.Designer.cs b/LB_SmartVision/Form1.Designer.cs
index b288884..2a73be0 100644
--- a/LB_SmartVision/Form1.Designer.cs
+++ b/LB_SmartVision/Form1.Designer.cs
@@ -71,8 +71,8 @@
             // 
             // Form1
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             ClientSize = new Size(800, 450);
             Controls.Add(materialTabControl1);
             Name = "Form1";
diff --git a/LB_SmartVision/Forms/CreateProductForm.Designer.cs b/LB_SmartVision/Forms/CreateProductForm.Designer.cs
index d7f9829..74167a6 100644
--- a/LB_SmartVision/Forms/CreateProductForm.Designer.cs
+++ b/LB_SmartVision/Forms/CreateProductForm.Designer.cs
@@ -148,7 +148,8 @@
             // 
             // CreateProductForm
             // 
-            AutoScaleMode = AutoScaleMode.None;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             BackColor = Color.FromArgb(32, 41, 50);
             ClientSize = new Size(507, 309);
             ControlBox = false;
diff --git a/LB_SmartVision/Forms/CreateProductForm.resx b/LB_SmartVision/Forms/CreateProductForm.resx
index 9ca1331..83adc1a 100644
--- a/LB_SmartVision/Forms/CreateProductForm.resx
+++ b/LB_SmartVision/Forms/CreateProductForm.resx
@@ -121,7 +121,7 @@
   <data name="themeForm1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wgAADsIBFShKgAAAA+JJREFUWEftVkuIHGUQbt34iMEoq2S2q3p3yTJsuqpnJ+L6WBRdwaigohfFgEou
+        wQAADsEBuJFr7QAAA+JJREFUWEftVkuIHGUQbt34iMEoq2S2q3p3yTJsuqpnJ+L6WBRdwaigohfFgEou
         BkVBUPCBCEG8BXNQ48GLeImCehIJxMsqhsSZruod46K4HtSIGjU+4iOr0c1I9fSsM3/PLNtCPO0H36m/
         evz/X11VnreKVRTAHPOZumkY6lFwqURws3BwZ8ywTQnuiCP/+iTCzY1qaUPzdm/Atf3PaHre6XPsjyQM
         2xLGV4XwIyX4QRj+UMK/lPFvJTyhBMeV8IgQvmRJuH4Ko+l5p9UjGBbCJ5RxTgj+VMZmXxKcSAjekHE/
diff --git a/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.Designer.cs b/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.Designer.cs
index 0cd3475..96280ad 100644
--- a/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.Designer.cs
@@ -451,7 +451,8 @@
             // 
             // CameraForm
             // 
-            AutoScaleMode = AutoScaleMode.None;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             ClientSize = new Size(900, 600);
             Controls.Add(themeForm1);
             FormBorderStyle = FormBorderStyle.None;
diff --git a/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.resx b/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.resx
index 922b5eb..ef8fc70 100644
--- a/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.resx
+++ b/LB_SmartVision/Forms/Pages/CameraPage/CameraForm.resx
@@ -121,7 +121,7 @@
   <data name="themeForm1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        vgAADr4B6kKxwAAAA+JJREFUWEftVkuIHGUQbt34iMEoq2S2q3p3yTJsuqpnJ+L6WBRdwaigohfFgEou
+        vQAADr0BR/uQrQAAA+JJREFUWEftVkuIHGUQbt34iMEoq2S2q3p3yTJsuqpnJ+L6WBRdwaigohfFgEou
         BkVBUPCBCEG8BXNQ48GLeImCehIJxMsqhsSZruod46K4HtSIGjU+4iOr0c1I9fSsM3/PLNtCPO0H36m/
         evz/X11VnreKVRTAHPOZumkY6lFwqURws3BwZ8ywTQnuiCP/+iTCzY1qaUPzdm/Atf3PaHre6XPsjyQM
         2xLGV4XwIyX4QRj+UMK/lPFvJTyhBMeV8IgQvmRJuH4Ko+l5p9UjGBbCJ5RxTgj+VMZmXxKcSAjekHE/
diff --git a/LB_SmartVision/Forms/Pages/CameraPage/CamerasEditPage.Designer.cs b/LB_SmartVision/Forms/Pages/CameraPage/CamerasEditPage.Designer.cs
index cfbcc7f..345dffd 100644
--- a/LB_SmartVision/Forms/Pages/CameraPage/CamerasEditPage.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/CameraPage/CamerasEditPage.Designer.cs
@@ -132,6 +132,8 @@
             // 
             // CamerasEditPage
             // 
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             BackColor = Color.FromArgb(32, 41, 50);
             Controls.Add(tableLayoutPanel1);
             Name = "CamerasEditPage";
diff --git a/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.Designer.cs b/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.Designer.cs
index 1d51f43..0ec3433 100644
--- a/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.Designer.cs
@@ -150,7 +150,7 @@
             controlBox1.EnableMaximizeButton = true;
             controlBox1.EnableMinimizeButton = true;
             controlBox1.ForeColor = Color.FromArgb(155, 155, 155);
-            controlBox1.Location = new Point(405, 12);
+            controlBox1.Location = new Point(407, 18);
             controlBox1.MaximizeHoverColor = Color.FromArgb(74, 74, 74);
             controlBox1.MinimizeHoverColor = Color.FromArgb(63, 63, 65);
             controlBox1.Name = "controlBox1";
@@ -160,7 +160,8 @@
             // 
             // CreateCameraForm
             // 
-            AutoScaleMode = AutoScaleMode.None;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             ClientSize = new Size(507, 309);
             ControlBox = false;
             Controls.Add(uiComboBoxSN);
diff --git a/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.resx b/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.resx
index 3384e6d..9ca1331 100644
--- a/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.resx
+++ b/LB_SmartVision/Forms/Pages/CameraPage/CreateCameraForm.resx
@@ -120,25 +120,25 @@
   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <data name="themeForm1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAPiSURBVFhH7VZLiBxlEG7d+IjBKKtktqt6d8kybLqqZyfi
-        +lgUXcGooKIXxYBKLgZFQVDwgQhBvAVzUOPBi3iJgnoSCcTLKobEma7qHeOiuB7UiBo1PuIjq9HNSPX0
-        rDN/zyzbQjztB9+pv3r8/19dVZ63ilUUwBzzmbppGOpRcKlEcLNwcGfMsE0J7ogj//okws2NamlD83Zv
-        wLX9z2h63ulz7I8kDNsSxleF8CMl+EEY/lDCv5TxbyU8oQTHlfCIEL5kSbh+CqPpeafVIxgWwieUcU4I
-        /lTGZl8SnEgI3pBxPzTbOQ4Gkyi4pxEGFTuE639ZpFfNcIsS1LJT5gN28xdl3Cnj/oVmP7t59Hwl3K0M
-        C8owL4zbG9XSOjdOT5hQCB5Rxu97BMqT4BsJ4X6Z9M8x+483XXCuEO5KnyjTCOGvSvjMAQ4G3XhdODAV
-        rBWGHUL4Wy5Qb34Sk3/rzLS3xuwtCSV8ShmOu1p7wpjwBRkbO8+Nm6LpeQMxwX3Suk43ULczxpPKKLOR
-        f+WO7H1bz4YPpaftYdMiLMQET5rWje/FhJfHhF/kjXJcVIZ3tIJVKzazfc3zBpTwLmU82kPfRWH8Lg79
-        67qC76uW1mkEr2Qnyxl1GC8K49uNEMbbtpZEjeBaXVnymR/Y2/UUNQqutn/bFTpcVMZ9ykF5ydDzvEMV
-        P4wZtYe+L+2Z4hBvSh3YP6rs71zu9PZNGN7tPLnBqloIXl/Oth+F4MW0eO0qlPA9V9BFwtlZhos6g89M
-        T69JGB/Xjt+tIDXtG41qaaMwftZDkBG+TAi2tAuuDaHhq4Thq7x+pYSvNRoiL54IJqwy84L05L8LwwPu
-        cLFOJ4Rv5vQFKAQ/xRxc1jeB9F0J9rxfHlzfGdxQD2GrJefaFGI7gfrEyJgwfp4X4GEN/Uk3+H5rtQx7
-        c/qCFIIjNSpFrcHBcLDro1U94a52i+1EHPoXC+VvrCiF4cNDlY2ltIsJwXOO4KiEOOUGN9jykc7/Hk4L
-        kWDPUkuWKLhBGY79+xH32824wQ3WcsWWENdhAdqktG1qyakVWszw1pKI8GW7ma7IGbQydImNYNdpIRLU
-        4nDE73JcJ9gihN9mCexuTzkX2dR7TAh+zDleAa0N1wnvdvuKJ5OTZ9j6JQwL1l57jswMM6OjZ8eEN0q6
-        I8KnynjMVjKbF1lbPtlq3ykXW1tVuh39LITP992O5suD65XhWSH4QGlo1P3uYr5cPst0thckjLcp473K
-        8LBYiyb/0YTwQdsLNYStlnASwRX9amsJaZcL8WkJcXu/OjjlODwVrI0jvOZgZUPJ/fa/wYrEnQGrOBX4
-        B6XRFGacFF+7AAAAAElFTkSuQmCC
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        wgAADsIBFShKgAAAA+JJREFUWEftVkuIHGUQbt34iMEoq2S2q3p3yTJsuqpnJ+L6WBRdwaigohfFgEou
+        BkVBUPCBCEG8BXNQ48GLeImCehIJxMsqhsSZruod46K4HtSIGjU+4iOr0c1I9fSsM3/PLNtCPO0H36m/
+        evz/X11VnreKVRTAHPOZumkY6lFwqURws3BwZ8ywTQnuiCP/+iTCzY1qaUPzdm/Atf3PaHre6XPsjyQM
+        2xLGV4XwIyX4QRj+UMK/lPFvJTyhBMeV8IgQvmRJuH4Ko+l5p9UjGBbCJ5RxTgj+VMZmXxKcSAjekHE/
+        NNs5DgaTKLinEQYVO4Trf1mkV81wixLUslPmA3bzF2XcKeP+hWY/u3n0fCXcrQwLyjAvjNsb1dI6N05P
+        mFAIHlHG73sEypPgGwnhfpn0zzH7jzddcK4Q7kqfKNMI4a9K+MwBDgbdeF04MBWsFYYdQvhbLlBvfhKT
+        f+vMtLfG7C0JJXxKGY67WnvCmPAFGRs7z42boul5AzHBfdK6TjdQtzPGk8oos5F/5Y7sfVvPhg+lp+1h
+        0yIsxARPmtaN78WEl8eEX+SNclxUhne0glUrNrN9zfMGlPAuZTzaQ99FYfwuDv3ruoLvq5bWaQSvZCfL
+        GXUYLwrj240Qxtu2lkSN4FpdWfKZH9jb9RQ1Cq62f9sVOlxUxn3KQXnJ0PO8QxU/jBm1h74v7ZniEG9K
+        Hdg/quzvXO709k0Y3u08ucGqWgheX862H4XgxbR47SqU8D1X0EXC2VmGizqDz0xPr0kYH9eO360gNe0b
+        jWppozB+1kOQEb5MCLa0C64NoeGrhOGrvH6lhK81GiIvnggmrDLzgvTkvwvDA+5wsU4nhG/m9AUoBD/F
+        HFzWN4H0XQn2vF8eXN8Z3FAPYasl59oUYjuB+sTImDB+nhfgYQ39STf4fmu1DHtz+oIUgiM1KkWtwcFw
+        sOujVT3hrnaL7UQc+hcL5W+sKIXhw0OVjaW0iwnBc47gqIQ45QY32PKRzv8eTguRYM9SS5YouEEZjv37
+        EffbzbjBDdZyxZYQ12EB2qS0bWrJqRVazPDWkojwZbuZrsgZtDJ0iY1g12khEtTicMTvclwn2CKE32YJ
+        7G5PORfZ1HtMCH7MOV4BrQ3XCe92+4onk5Nn2PolDAvWXnuOzAwzo6Nnx4Q3SrojwqfKeMxWMpsXWVs+
+        2WrfKRdbW1W6Hf0shM/33Y7my4PrleFZIfhAaWjU/e5ivlw+y3S2FySMtynjvcrwsFiLJv/RhPBB2ws1
+        hK2WcBLBFf1qawlplwvxaQlxe786OOU4PBWsjSO85mBlQ8n99r/BisSdAas4FfgHpdEUZpwUX7sAAAAA
+        SUVORK5CYII=
 </value>
   </data>
 </root>
\ No newline at end of file
diff --git a/LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorForm.Designer.cs b/LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorForm.Designer.cs
index 3eb06b4..fee0cbb 100644
--- a/LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorForm.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorForm.Designer.cs
@@ -205,7 +205,8 @@
             // 
             // CommunicatorForm
             // 
-            AutoScaleMode = AutoScaleMode.None;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             ClientSize = new Size(681, 401);
             Controls.Add(tableLayoutPanel1);
             Name = "CommunicatorForm";
diff --git a/LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorsEditPage.Designer.cs b/LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorsEditPage.Designer.cs
index d7f3f39..116b7e4 100644
--- a/LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorsEditPage.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/CommunicatorPage/CommunicatorsEditPage.Designer.cs
@@ -132,6 +132,8 @@
             // 
             // CommunicatorsEditPage
             // 
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             BackColor = Color.FromArgb(32, 41, 50);
             Controls.Add(tableLayoutPanel1);
             ForeColor = SystemColors.Control;
diff --git a/LB_SmartVision/Forms/Pages/CommunicatorPage/CreateCommunicatorForm.Designer.cs b/LB_SmartVision/Forms/Pages/CommunicatorPage/CreateCommunicatorForm.Designer.cs
index 5eb648d..fc94b76 100644
--- a/LB_SmartVision/Forms/Pages/CommunicatorPage/CreateCommunicatorForm.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/CommunicatorPage/CreateCommunicatorForm.Designer.cs
@@ -45,7 +45,7 @@
             // 
             // uiLabelIP
             // 
-            uiLabelIP.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point);
+            uiLabelIP.Font = new Font("瀹嬩綋", 12F);
             uiLabelIP.ForeColor = Color.FromArgb(48, 48, 48);
             uiLabelIP.Location = new Point(84, 111);
             uiLabelIP.Name = "uiLabelIP";
@@ -55,7 +55,7 @@
             // 
             // uiLabelPort
             // 
-            uiLabelPort.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point);
+            uiLabelPort.Font = new Font("瀹嬩綋", 12F);
             uiLabelPort.ForeColor = Color.FromArgb(48, 48, 48);
             uiLabelPort.Location = new Point(84, 177);
             uiLabelPort.Name = "uiLabelPort";
@@ -65,7 +65,7 @@
             // 
             // uiButtonCancel
             // 
-            uiButtonCancel.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point);
+            uiButtonCancel.Font = new Font("瀹嬩綋", 12F);
             uiButtonCancel.Location = new Point(343, 234);
             uiButtonCancel.MinimumSize = new Size(1, 1);
             uiButtonCancel.Name = "uiButtonCancel";
@@ -76,22 +76,18 @@
             // 
             // uiTextBoxPort
             // 
-            uiTextBoxPort.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point);
+            uiTextBoxPort.Font = new Font("瀹嬩綋", 12F);
             uiTextBoxPort.Location = new Point(191, 175);
             uiTextBoxPort.Margin = new Padding(4, 5, 4, 5);
             uiTextBoxPort.MinimumSize = new Size(1, 16);
             uiTextBoxPort.Name = "uiTextBoxPort";
-            uiTextBoxPort.Padding = new Padding(5);
-            //uiTextBoxPort.ShowText = false;
-            uiTextBoxPort.Size = new Size(205, 29);
+            uiTextBoxPort.Size = new Size(205, 26);
             uiTextBoxPort.TabIndex = 5;
-            //uiTextBoxPort.TextAlignment = ContentAlignment.MiddleLeft;
-            //uiTextBoxPort.Watermark = "";
             uiTextBoxPort.TextChanged += uiTextBoxPort_TextChanged;
             // 
             // rButtonUART
             // 
-            rButtonUART.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point);
+            rButtonUART.Font = new Font("瀹嬩綋", 12F);
             rButtonUART.Location = new Point(51, 12);
             rButtonUART.MinimumSize = new Size(1, 1);
             rButtonUART.Name = "rButtonUART";
@@ -102,7 +98,7 @@
             // 
             // rButtonTCPServer
             // 
-            rButtonTCPServer.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point);
+            rButtonTCPServer.Font = new Font("瀹嬩綋", 12F);
             rButtonTCPServer.Location = new Point(51, 47);
             rButtonTCPServer.MinimumSize = new Size(1, 1);
             rButtonTCPServer.Name = "rButtonTCPServer";
@@ -113,7 +109,7 @@
             // 
             // rButtonTCPClient
             // 
-            rButtonTCPClient.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point);
+            rButtonTCPClient.Font = new Font("瀹嬩綋", 12F);
             rButtonTCPClient.Location = new Point(293, 47);
             rButtonTCPClient.MinimumSize = new Size(1, 1);
             rButtonTCPClient.Name = "rButtonTCPClient";
@@ -125,7 +121,7 @@
             // uiButtonCreate
             // 
             uiButtonCreate.Enabled = false;
-            uiButtonCreate.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point);
+            uiButtonCreate.Font = new Font("瀹嬩綋", 12F);
             uiButtonCreate.Location = new Point(191, 234);
             uiButtonCreate.MinimumSize = new Size(1, 1);
             uiButtonCreate.Name = "uiButtonCreate";
@@ -136,7 +132,7 @@
             // 
             // uiButtonTest
             // 
-            uiButtonTest.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point);
+            uiButtonTest.Font = new Font("瀹嬩綋", 12F);
             uiButtonTest.Location = new Point(31, 234);
             uiButtonTest.MinimumSize = new Size(1, 1);
             uiButtonTest.Name = "uiButtonTest";
@@ -147,55 +143,39 @@
             // 
             // uiComboBoxPort
             // 
-            uiComboBoxPort.DataSource = null;
-            //uiComboBoxPort.FillColor = Color.White;
-            uiComboBoxPort.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point);
-            //uiComboBoxPort.ItemHoverColor = Color.FromArgb(155, 200, 255);
-            //uiComboBoxPort.ItemSelectForeColor = Color.FromArgb(235, 243, 255);
+            uiComboBoxPort.Font = new Font("瀹嬩綋", 12F);
             uiComboBoxPort.Location = new Point(191, 108);
             uiComboBoxPort.Margin = new Padding(4, 5, 4, 5);
             uiComboBoxPort.MinimumSize = new Size(63, 0);
             uiComboBoxPort.Name = "uiComboBoxPort";
-            uiComboBoxPort.Padding = new Padding(0, 0, 30, 2);
-            uiComboBoxPort.Size = new Size(205, 29);
-            //uiComboBoxPort.SymbolSize = 24;
+            uiComboBoxPort.Size = new Size(205, 24);
             uiComboBoxPort.TabIndex = 11;
-            //uiComboBoxPort.TextAlignment = ContentAlignment.MiddleLeft;
-            //uiComboBoxPort.Watermark = "";
             uiComboBoxPort.MouseClick += uiComboBoxPort_MouseClick;
             // 
             // uiIPTextBox
             // 
-            //uiIPTextBox.FillColor2 = Color.FromArgb(235, 243, 255);
-            uiIPTextBox.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point);
+            uiIPTextBox.Font = new Font("瀹嬩綋", 12F);
             uiIPTextBox.Location = new Point(191, 108);
             uiIPTextBox.Margin = new Padding(4, 5, 4, 5);
             uiIPTextBox.MinimumSize = new Size(1, 1);
             uiIPTextBox.Name = "uiIPTextBox";
-            uiIPTextBox.Padding = new Padding(1);
-            //uiIPTextBox.ShowText = false;
-            uiIPTextBox.Size = new Size(205, 29);
+            uiIPTextBox.Size = new Size(205, 26);
             uiIPTextBox.TabIndex = 12;
-            //uiIPTextBox.TextAlignment = ContentAlignment.MiddleCenter;
             uiIPTextBox.MouseClick += uiIPTextBox_MouseClick;
             // 
             // uiTextBoxPath
             // 
-            uiTextBoxPath.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point);
+            uiTextBoxPath.Font = new Font("瀹嬩綋", 12F);
             uiTextBoxPath.Location = new Point(191, 108);
             uiTextBoxPath.Margin = new Padding(4, 5, 4, 5);
             uiTextBoxPath.MinimumSize = new Size(1, 16);
             uiTextBoxPath.Name = "uiTextBoxPath";
-            uiTextBoxPath.Padding = new Padding(5);
-            //uiTextBoxPath.ShowText = false;
-            uiTextBoxPath.Size = new Size(205, 29);
+            uiTextBoxPath.Size = new Size(205, 26);
             uiTextBoxPath.TabIndex = 13;
-            //uiTextBoxPath.TextAlignment = ContentAlignment.MiddleLeft;
-            //uiTextBoxPath.Watermark = "";
             // 
             // rButtonMonitor
             // 
-            rButtonMonitor.Font = new Font("瀹嬩綋", 12F, FontStyle.Regular, GraphicsUnit.Point);
+            rButtonMonitor.Font = new Font("瀹嬩綋", 12F);
             rButtonMonitor.Location = new Point(293, 12);
             rButtonMonitor.MinimumSize = new Size(1, 1);
             rButtonMonitor.Name = "rButtonMonitor";
@@ -206,8 +186,8 @@
             // 
             // CreateCommunicatorForm
             // 
-            //AllowShowTitle = false;
-            AutoScaleMode = AutoScaleMode.None;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             ClientSize = new Size(484, 285);
             ControlBox = false;
             Controls.Add(rButtonMonitor);
@@ -226,11 +206,9 @@
             MaximizeBox = false;
             MinimizeBox = false;
             Name = "CreateCommunicatorForm";
-            Padding = new Padding(0);
-            //ShowTitle = false;
             Text = "鍒涘缓閫氳";
-            //ZoomScaleRect = new Rectangle(15, 15, 800, 450);
             ResumeLayout(false);
+            PerformLayout();
         }
 
         #endregion
diff --git a/LB_SmartVision/Forms/Pages/CommunicatorPage/CreateCommunicatorForm.resx b/LB_SmartVision/Forms/Pages/CommunicatorPage/CreateCommunicatorForm.resx
index af32865..8b2ff64 100644
--- a/LB_SmartVision/Forms/Pages/CommunicatorPage/CreateCommunicatorForm.resx
+++ b/LB_SmartVision/Forms/Pages/CommunicatorPage/CreateCommunicatorForm.resx
@@ -1,7 +1,7 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
   <!--
-    Microsoft ResX Schema 
+    Microsoft ResX Schema
 
     Version 2.0
 
@@ -48,7 +48,7 @@
     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
diff --git a/LB_SmartVision/Forms/Pages/MESPage/MESEditPage.Designer.cs b/LB_SmartVision/Forms/Pages/MESPage/MESEditPage.Designer.cs
index f61ac14..47ad3af 100644
--- a/LB_SmartVision/Forms/Pages/MESPage/MESEditPage.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/MESPage/MESEditPage.Designer.cs
@@ -131,6 +131,8 @@
             // 
             // MESEditPage
             // 
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             BackColor = Color.FromArgb(32, 41, 50);
             Controls.Add(tableLayoutPanel1);
             Name = "MESEditPage";
diff --git a/LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlEditPage.Designer.cs b/LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlEditPage.Designer.cs
index b13a7da..5abb7ca 100644
--- a/LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlEditPage.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/MotionControlPage/MotionControlEditPage.Designer.cs
@@ -130,6 +130,8 @@
             // 
             // MotionControlEditPage
             // 
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             BackColor = Color.FromArgb(32, 41, 50);
             Controls.Add(tableLayoutPanel1);
             ForeColor = SystemColors.Control;
diff --git a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessInputsSelectForm.Designer.cs b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessInputsSelectForm.Designer.cs
index cec136a..a7252aa 100644
--- a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessInputsSelectForm.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessInputsSelectForm.Designer.cs
@@ -30,21 +30,21 @@
         {
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProcessInputsSelectForm));
             themeForm1 = new ReaLTaiizor.Forms.ThemeForm();
+            panel = new Panel();
             controlBox1 = new ReaLTaiizor.Controls.ControlBox();
-            panel = new ReaLTaiizor.Controls.Panel();
             themeForm1.SuspendLayout();
             SuspendLayout();
             // 
             // themeForm1
             // 
             themeForm1.BackColor = Color.FromArgb(32, 41, 50);
-            themeForm1.Controls.Add(controlBox1);
             themeForm1.Controls.Add(panel);
+            themeForm1.Controls.Add(controlBox1);
             themeForm1.Dock = DockStyle.Fill;
             themeForm1.Font = new Font("Microsoft Sans Serif", 9F);
             themeForm1.Image = (Image)resources.GetObject("themeForm1.Image");
             themeForm1.Location = new Point(0, 0);
-            themeForm1.Name = "theme_ProcessInputsSelectForm";
+            themeForm1.Name = "themeForm1";
             themeForm1.Padding = new Padding(10, 70, 10, 9);
             themeForm1.RoundCorners = true;
             themeForm1.Sizable = true;
@@ -53,6 +53,17 @@
             themeForm1.StartPosition = FormStartPosition.WindowsDefaultLocation;
             themeForm1.TabIndex = 2;
             themeForm1.Text = "ProcessInputsSelectForm";
+            // 
+            // panel
+            // 
+            panel.AutoScroll = true;
+            panel.Dock = DockStyle.Fill;
+            panel.ForeColor = SystemColors.Control;
+            panel.Location = new Point(10, 70);
+            panel.Name = "panel";
+            panel.Size = new Size(887, 405);
+            panel.TabIndex = 2;
+            panel.SizeChanged += panel_SizeChanged;
             // 
             // controlBox1
             // 
@@ -72,23 +83,10 @@
             controlBox1.TabIndex = 1;
             controlBox1.Text = "controlBox1";
             // 
-            // panel
-            // 
-            panel.BackColor = Color.FromArgb(39, 51, 63);
-            panel.Dock = DockStyle.Fill;
-            panel.EdgeColor = Color.FromArgb(32, 41, 50);
-            panel.Location = new Point(10, 70);
-            panel.Name = "panel";
-            panel.Padding = new Padding(5);
-            panel.Size = new Size(887, 405);
-            panel.SmoothingType = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
-            panel.TabIndex = 0;
-            panel.Text = "panel1";
-            // 
             // ProcessInputsSelectForm
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             ClientSize = new Size(907, 484);
             Controls.Add(themeForm1);
             FormBorderStyle = FormBorderStyle.None;
@@ -104,7 +102,7 @@
         #endregion
         private Button uiButtonOK;
         private ReaLTaiizor.Forms.ThemeForm themeForm1;
-        private ReaLTaiizor.Controls.Panel panel;
         private ReaLTaiizor.Controls.ControlBox controlBox1;
+        private Panel panel;
     }
 }
diff --git a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessInputsSelectForm.resx b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessInputsSelectForm.resx
index d7d46a5..9ca1331 100644
--- a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessInputsSelectForm.resx
+++ b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessInputsSelectForm.resx
@@ -120,167 +120,25 @@
   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <data name="themeForm1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        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
-        mdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltM
-        aotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1
-        xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9pi
-        UltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGp
-        LRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACO
-        mdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltM
-        aotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1
-        xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9pi
-        UltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGp
-        LRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACO
-        mdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltM
-        aotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1
-        xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9pi
-        UltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGp
-        LRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACO
-        mdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltM
-        aotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1
-        xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9pi
-        UltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGp
-        LR9+/fOfSPvHP/tm2nf+/Ftpv/ypj6d9Me6f/+Lbaf/xN3+Y9pXPfZS2AThmUltMaotJbTGpLSa1xaS2
-        bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThm
-        UltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGp
-        LSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQW
-        k9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJ
-        bTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2
-        bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThm
-        UltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGp
-        LSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQW
-        k9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJ
-        bTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2
-        bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThm
-        UltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGp
-        LSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQW
-        k9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJ
-        bTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2
-        bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThm
-        UltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGp
-        LSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQW
-        k9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJ
-        bTGpLRuAYya1xaS2mNQWk9piUltMasuHL33m+9P8pJYvf7btu//z33PoS5/5KM2LaPnVT388bQNwzKS2
-        mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEt
-        JrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaY
-        pHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0m
-        tWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpik
-        ecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1
-        ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5
-        yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVl
-        A3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJ
-        pLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUD
-        cMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmk
-        tngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNw
-        zKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2
-        eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DM
-        pLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4
-        ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyk
-        tpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngR
-        LSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2
-        mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa15cM3fuHH0n77lz6T9rWf
-        /VTaVz73ibRf++xHaV//uU+nffVnfngObQCOmdQWk9piUltMaotJmpc2AMdMaotJbTGpLSa1xSTNSxuA
-        Yya1xaS2mNQWk9pikualDcAxk9piUltMaotJbTFJ89IG4JhJbTGpLSa1xaS2mKR5aQNwzKS2mNQWk9pi
-        UltM0ry0AThmUltMaotJbTGpLSZpXtoAHDOpLSa1xaS2mNQWkzQvbQCOmdQWk9piUltMaotJmpc2AMdM
-        aotJbTGpLSa1xSTNSxuAYya1xaS2mNQWk9pikualDcAxk9piUltMaotJbTFJ89IG4JhJbTGpLSa1xaS2
-        mKR5aQNwzKS2mNQWk9piUltM0ry0AThmUltMaotJbTGpLSZpXtoAHDOpLSa1xaS2mNQWkzQvbQCOmdQW
-        k9piUltMaotJmpc2AMdMaotJbTGpLSa1xSTNSxuAYya1xaS2mNQWk9pikualDcAxk9piUltMaotJbTFJ
-        89IG4JhJbTGpLSa1xaS2mKR5aQNwzKS2mNQWk9piUltM0ry0AThmUltMaotJbTGpLSZpXtoAHDOpLSa1
-        xaS2mNQWkzQvbQCOmdQWk9piUltMaotJmpc2AMdMaotJbTGpLSa1xSTNSxuAYya1xaS2mNQWk9pikual
-        DcAxk9piUltMaotJbTFJ89IG4JhJbTGpLSa1xaS2mKR5aQNwzKS2mNQWk9piUltM0ry0AThmUltMaotJ
-        bTGpLSZpXtoAHDOpLSa1xaS2mNQWkzQvbQCOmdQWk9piUltMaotJmpc2AMdMaotJbTGpLSa1xSTNSxuA
-        Yya1xaS2mNQWk9pikualDcAxk9piUltMaotJbTFJ89IG4JhJbTGpLSa1xaS2mKR5aQNwzKS2mNQWk9pi
-        UltM0ry0AThmUltMaotJbTGpLSZpXtoAHDOpLSa1xaS2mNQWkzQvbQCOmdQWk9piUltMaotJmpc2AMdM
-        aotJbTGpLSa1xSTNSxuAYya1xaS2mNQWk9pikualDcAxk9piUltMaotJbTFJ89IG4JhJbTGpLSa1xaS2
-        mKR5aQNwzKS2mNQWk9piUltM0ry0AThmUltMaotJbTGpLSZpXtoAHDOpLSa1xaS2mNQWkzQvbQCOmdQW
-        k9piUltMaotJmpc2AMdMaotJbTGpLSa1xSTNSxuAYya1xaS2mNQWk9pikualDcAxk9piUltMaotJbTFJ
-        89IG4JhJbTGpLSa1xaS2mKR5aQNwzKS2mNQWk9piUltM0ry0AThmUltMaotJbTGpLSZpXtoAHDOpLSa1
-        xaS2mNQWkzQvbQCOmdQWk9piUltMaotJmpc2AMdMaotJbTGpLSa1xSTNSxuAYya1xaS2mNQWk9pikual
-        DcAxk9piUltMaotJbTFJ89IG4JhJbTGpLSa1xaS2mKR5aQNwzKS2mNQWk9piUltM0ry0AThmUltMaotJ
-        bTGpLSZpXvp/N+2H12uZAHMAAAAASUVORK5CYII=
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        wgAADsIBFShKgAAAA+JJREFUWEftVkuIHGUQbt34iMEoq2S2q3p3yTJsuqpnJ+L6WBRdwaigohfFgEou
+        BkVBUPCBCEG8BXNQ48GLeImCehIJxMsqhsSZruod46K4HtSIGjU+4iOr0c1I9fSsM3/PLNtCPO0H36m/
+        evz/X11VnreKVRTAHPOZumkY6lFwqURws3BwZ8ywTQnuiCP/+iTCzY1qaUPzdm/Atf3PaHre6XPsjyQM
+        2xLGV4XwIyX4QRj+UMK/lPFvJTyhBMeV8IgQvmRJuH4Ko+l5p9UjGBbCJ5RxTgj+VMZmXxKcSAjekHE/
+        NNs5DgaTKLinEQYVO4Trf1mkV81wixLUslPmA3bzF2XcKeP+hWY/u3n0fCXcrQwLyjAvjNsb1dI6N05P
+        mFAIHlHG73sEypPgGwnhfpn0zzH7jzddcK4Q7kqfKNMI4a9K+MwBDgbdeF04MBWsFYYdQvhbLlBvfhKT
+        f+vMtLfG7C0JJXxKGY67WnvCmPAFGRs7z42boul5AzHBfdK6TjdQtzPGk8oos5F/5Y7sfVvPhg+lp+1h
+        0yIsxARPmtaN78WEl8eEX+SNclxUhne0glUrNrN9zfMGlPAuZTzaQ99FYfwuDv3ruoLvq5bWaQSvZCfL
+        GXUYLwrj240Qxtu2lkSN4FpdWfKZH9jb9RQ1Cq62f9sVOlxUxn3KQXnJ0PO8QxU/jBm1h74v7ZniEG9K
+        Hdg/quzvXO709k0Y3u08ucGqWgheX862H4XgxbR47SqU8D1X0EXC2VmGizqDz0xPr0kYH9eO360gNe0b
+        jWppozB+1kOQEb5MCLa0C64NoeGrhOGrvH6lhK81GiIvnggmrDLzgvTkvwvDA+5wsU4nhG/m9AUoBD/F
+        HFzWN4H0XQn2vF8eXN8Z3FAPYasl59oUYjuB+sTImDB+nhfgYQ39STf4fmu1DHtz+oIUgiM1KkWtwcFw
+        sOujVT3hrnaL7UQc+hcL5W+sKIXhw0OVjaW0iwnBc47gqIQ45QY32PKRzv8eTguRYM9SS5YouEEZjv37
+        EffbzbjBDdZyxZYQ12EB2qS0bWrJqRVazPDWkojwZbuZrsgZtDJ0iY1g12khEtTicMTvclwn2CKE32YJ
+        7G5PORfZ1HtMCH7MOV4BrQ3XCe92+4onk5Nn2PolDAvWXnuOzAwzo6Nnx4Q3SrojwqfKeMxWMpsXWVs+
+        2WrfKRdbW1W6Hf0shM/33Y7my4PrleFZIfhAaWjU/e5ivlw+y3S2FySMtynjvcrwsFiLJv/RhPBB2ws1
+        hK2WcBLBFf1qawlplwvxaQlxe786OOU4PBWsjSO85mBlQ8n99r/BisSdAas4FfgHpdEUZpwUX7sAAAAA
+        SUVORK5CYII=
 </value>
   </data>
 </root>
\ No newline at end of file
diff --git a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessOutputsSelectForm.Designer.cs b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessOutputsSelectForm.Designer.cs
index 672e91a..579d94e 100644
--- a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessOutputsSelectForm.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessOutputsSelectForm.Designer.cs
@@ -109,8 +109,8 @@
             // 
             // ProcessOutputsSelectForm
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             BackColor = Color.FromArgb(39, 51, 63);
             ClientSize = new Size(679, 496);
             Controls.Add(tableLayoutPanel1);
diff --git a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessPage.Designer.cs b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessPage.Designer.cs
index 2cbb2f5..f19f8df 100644
--- a/LB_SmartVision/Forms/Pages/ProcessPage/ProcessPage.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/ProcessPage/ProcessPage.Designer.cs
@@ -125,6 +125,8 @@
             // 
             // ProcessPage
             // 
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             BackColor = Color.FromArgb(32, 41, 50);
             Controls.Add(splitContainer1);
             Name = "ProcessPage";
diff --git a/LB_SmartVision/Forms/Pages/SettingPage/CsvPage.Designer.cs b/LB_SmartVision/Forms/Pages/SettingPage/CsvPage.Designer.cs
index 74ccd30..0aa37cb 100644
--- a/LB_SmartVision/Forms/Pages/SettingPage/CsvPage.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/SettingPage/CsvPage.Designer.cs
@@ -209,8 +209,8 @@
             // 
             // CsvPage
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(tableLayoutPanel1);
             Name = "CsvPage";
             Size = new Size(772, 535);
diff --git a/LB_SmartVision/Forms/Pages/SettingPage/CsvSettingControl.Designer.cs b/LB_SmartVision/Forms/Pages/SettingPage/CsvSettingControl.Designer.cs
index f33ce6a..258808e 100644
--- a/LB_SmartVision/Forms/Pages/SettingPage/CsvSettingControl.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/SettingPage/CsvSettingControl.Designer.cs
@@ -101,8 +101,8 @@
             // 
             // CsvSettingControl
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(tableLayoutPanel1);
             Name = "CsvSettingControl";
             Size = new Size(807, 30);
diff --git a/LB_SmartVision/Forms/Pages/SettingPage/LayoutPage.Designer.cs b/LB_SmartVision/Forms/Pages/SettingPage/LayoutPage.Designer.cs
index 8e48839..c63bdb0 100644
--- a/LB_SmartVision/Forms/Pages/SettingPage/LayoutPage.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/SettingPage/LayoutPage.Designer.cs
@@ -304,8 +304,8 @@
             // 
             // LayoutPage
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(tableLayoutPanel1);
             Name = "LayoutPage";
             Size = new Size(772, 535);
diff --git a/LB_SmartVision/Forms/Pages/SettingPage/LayoutSettingControl.Designer.cs b/LB_SmartVision/Forms/Pages/SettingPage/LayoutSettingControl.Designer.cs
index 18f3143..ca2f3a9 100644
--- a/LB_SmartVision/Forms/Pages/SettingPage/LayoutSettingControl.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/SettingPage/LayoutSettingControl.Designer.cs
@@ -147,8 +147,8 @@
             // 
             // LayoutSettingControl
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(tableLayoutPanel1);
             Name = "LayoutSettingControl";
             Size = new Size(807, 30);
diff --git a/LB_SmartVision/Forms/Pages/SettingPage/RunSettingPage.Designer.cs b/LB_SmartVision/Forms/Pages/SettingPage/RunSettingPage.Designer.cs
index 5f4be0f..abe8283 100644
--- a/LB_SmartVision/Forms/Pages/SettingPage/RunSettingPage.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/SettingPage/RunSettingPage.Designer.cs
@@ -283,8 +283,8 @@
             // 
             // RunSettingPage
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(splitContainer);
             Margin = new Padding(2);
             Name = "RunSettingPage";
diff --git a/LB_SmartVision/Forms/Pages/SettingPage/SettingEditPage.Designer.cs b/LB_SmartVision/Forms/Pages/SettingPage/SettingEditPage.Designer.cs
index 088824f..c523ad3 100644
--- a/LB_SmartVision/Forms/Pages/SettingPage/SettingEditPage.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/SettingPage/SettingEditPage.Designer.cs
@@ -299,34 +299,36 @@
             // pageSetting
             // 
             pageSetting.BackColor = Color.FromArgb(32, 41, 50);
-            pageSetting.Location = new Point(4, 38);
+            pageSetting.Location = new Point(4, 36);
             pageSetting.Name = "pageSetting";
             pageSetting.Padding = new Padding(3);
-            pageSetting.Size = new Size(858, 538);
+            pageSetting.Size = new Size(858, 540);
             pageSetting.TabIndex = 1;
             pageSetting.Text = "杩愯璁剧疆";
             // 
             // pageLayout
             // 
             pageLayout.BackColor = Color.FromArgb(32, 41, 50);
-            pageLayout.Location = new Point(4, 38);
+            pageLayout.Location = new Point(4, 36);
             pageLayout.Name = "pageLayout";
-            pageLayout.Size = new Size(858, 538);
+            pageLayout.Size = new Size(858, 540);
             pageLayout.TabIndex = 2;
             pageLayout.Text = "娴佺▼甯冨眬";
             // 
             // pageCsv
             // 
             pageCsv.BackColor = Color.FromArgb(32, 41, 50);
-            pageCsv.Location = new Point(4, 38);
+            pageCsv.Location = new Point(4, 36);
             pageCsv.Name = "pageCsv";
             pageCsv.Padding = new Padding(3);
-            pageCsv.Size = new Size(858, 538);
+            pageCsv.Size = new Size(858, 540);
             pageCsv.TabIndex = 3;
             pageCsv.Text = "娴佺▼琛ㄦ牸";
             // 
             // SettingEditPage
             // 
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             BackColor = Color.FromArgb(32, 41, 50);
             Controls.Add(poisonTabControl1);
             Name = "SettingEditPage";
diff --git a/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.Designer.cs b/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.Designer.cs
index 88a489d..1283684 100644
--- a/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.Designer.cs
+++ b/LB_SmartVision/Forms/Pages/UserManagementPage/UserManagementEditPage.Designer.cs
@@ -130,6 +130,8 @@
             // 
             // UserManagementEditPage
             // 
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             BackColor = Color.FromArgb(32, 41, 50);
             Controls.Add(tableLayoutPanel1);
             ForeColor = SystemColors.Control;
diff --git a/LB_SmartVision/VisionForm.Designer.cs b/LB_SmartVision/VisionForm.Designer.cs
index ef9e25a..ce85549 100644
--- a/LB_SmartVision/VisionForm.Designer.cs
+++ b/LB_SmartVision/VisionForm.Designer.cs
@@ -333,6 +333,7 @@
             Name = "VisionForm";
             Text = "杞儙澶栬瑙嗚妫�娴嬬郴缁�";
             TransparencyKey = Color.Fuchsia;
+            FormClosing += VisionForm_FormClosing;
             Load += VisionForm_Load;
             theme_VisionForm.ResumeLayout(false);
             sc_VisionForm.Panel1.ResumeLayout(false);
diff --git a/LB_SmartVision/VisionForm.cs b/LB_SmartVision/VisionForm.cs
index b014f34..efa9ff0 100644
--- a/LB_SmartVision/VisionForm.cs
+++ b/LB_SmartVision/VisionForm.cs
@@ -519,71 +519,97 @@
             }
             LB_SmartVision.Tool.Tool.ReadStringConfig("User ID", out string User_ID);
             LB_SmartVision.Tool.Tool.ReadStringConfig("Password", out string Password);
-
             GlobalVar.strProductName = DateBaseName;
-
             //鍔犺浇閫氳
             foreach (BaseCommunicator com in GlobalVar.dicCommunicators.Values)
+            {
                 com.Disconnect();
+            }
             GlobalVar.dicCommunicators.Clear();
             if (LoadAllCommunicators(GlobalVar.allCommunicatorsConnectionStringPath))
+            {
                 LogInfo("閫氳鍔犺浇鎴愬姛", LogInfoType.PASS);
+            }
             else
+            {
                 LogInfo("閫氳鍔犺浇澶辫触", LogInfoType.ERROR);
-
+            }
             //鍔犺浇鐩告満
             foreach (BaseCamera camera in GlobalVar.dicCameras.Values)
+            {
                 camera.Dispose();
+            }
             GlobalVar.dicCameras.Clear();
             if (LoadAllCameras(GlobalVar.allCamerasConnectionStringPath))
+            {
                 LogInfo("鐩告満鍔犺浇鎴愬姛", LogInfoType.PASS);
+            }
             else
+            {
                 LogInfo("鐩告満鍔犺浇澶辫触", LogInfoType.ERROR);
-
-            //蹇呴』鍏堝姞杞界浉鏈哄拰閫氳绔彛,鍥犱负娴佺▼鍔犺浇杩囩▼涓細鐢ㄥ埌鐩告満鍜岄�氳鍙�
-
+            }
             //鍔犺浇鍏ㄥ眬鍙橀噺
             IProcess.dicGlobalVars.Clear();
             if (LoadAllProcessVars(GlobalVar.allProcessVarsPath))
+            {
                 LogInfo("鍏ㄥ眬鍙橀噺鍔犺浇鎴愬姛", LogInfoType.PASS);
+            }
             else
+            {
                 LogInfo("鍏ㄥ眬鍙橀噺鍔犺浇澶辫触", LogInfoType.ERROR);
+            }
 
             //鍔犺浇娴佺▼
             GlobalVar.dicProcesses.Clear();
             if (LoadAllProcess(GlobalVar.allProcessConnectionStringPath))
+            {
                 LogInfo("娴佺▼鍔犺浇鎴愬姛", LogInfoType.PASS);
+            }
             else
+            {
                 LogInfo("娴佺▼鍔犺浇澶辫触", LogInfoType.ERROR);
-
+            }
             //鍔犺浇瑙﹀彂璁剧疆
             if (LoadAllProcessSetting(GlobalVar.allProcessSettingStringPath))
+            {
                 LogInfo("娴佺▼璁剧疆鍔犺浇鎴愬姛", LogInfoType.PASS);
+            }
             else
+            {
                 LogInfo("娴佺▼璁剧疆鍔犺浇澶辫触", LogInfoType.ERROR);
+            }
 
             //鍔犺浇娴佺▼甯冨眬
             GlobalVar.dicLayout.Clear();
             if (LoadAllLayout(GlobalVar.allLayoutPath))
+            {
                 LogInfo("娴佺▼甯冨眬鍔犺浇鎴愬姛", LogInfoType.PASS);
+            }
             else
+            {
                 LogInfo("娴佺▼甯冨眬鍔犺浇澶辫触", LogInfoType.ERROR);
+            }
 
             //鍔犺浇娴佺▼琛ㄦ牸
             GlobalVar.dicCsvSetting.Clear();
             if (LoadAllCsv(GlobalVar.allCsvPath))
+            {
                 LogInfo("娴佺▼琛ㄦ牸鍔犺浇鎴愬姛", LogInfoType.PASS);
+            }
             else
+            {
                 LogInfo("娴佺▼琛ㄦ牸鍔犺浇澶辫触", LogInfoType.ERROR);
+            }
 
             //鏄剧ず鎵�鏈変骇鍝�
             com_ProductName.Items.Clear();
             LB_SmartVision.Tool.Tool.ReadStringConfig("浜у搧鍒楄〃", out string Products);
             List<string> lstProduct = (Products.Split(',')).ToList();
             foreach (string DatabaseName in lstProduct)
+            {
                 com_ProductName.Items.Add(DatabaseName);
+            }
             com_ProductName.Items.Add("鏂板");
-
             com_ProductName.Text = GlobalVar.strProductName;
         }
 
@@ -614,7 +640,6 @@
                 strJson = streamReader.ReadToEnd();
                 streamReader.Close();
             }
-
             GlobalVar.allCamerasConnectionString = JsonConvert.DeserializeObject<ConcurrentDictionary<string, string>>(strJson);
             if (GlobalVar.allCamerasConnectionString == null)
             {
@@ -628,16 +653,21 @@
                 switch (brand)
                 {
                     case CameraBrand.HRCamera:
-                        camera = new HRCamera();
-                        break;
+                        {
+                            camera = new HRCamera();
+                            break;
+                        }
                     case CameraBrand.LBCamera:
-                        //camera = new LBCamera();
-                        break;
+                        {
+                            //camera = new LBCamera();
+                            break;
+                        }
                     default:
-                        MessageBox.Show($"[{CameraConnectionString.Key}]鍝佺墝涓嶆敮鎸�!", "寮傚父");
-                        continue;
+                        {
+                            MessageBox.Show($"[{CameraConnectionString.Key}]鍝佺墝涓嶆敮鎸�!", "寮傚父");
+                            continue;
+                        }
                 }
-
                 camera.SN = CameraConnectionString.Key;
                 if (!camera.InitDevice(CameraConnectionString.Key, this.Handle))
                 {
@@ -665,8 +695,9 @@
                     string CameraBrand = item.Value.Brand.ToString();//"1111"
 
                     if (string.IsNullOrEmpty(CameraSN) || string.IsNullOrEmpty(CameraBrand))
+                    {
                         break;
-
+                    }
                     GlobalVar.allCamerasConnectionString.TryAdd(CameraSN, CameraBrand);
                 }
                 var settings = new JsonSerializerSettings
@@ -776,9 +807,13 @@
                         Communicator.CommunicatorConnections.Add("绔彛", PORT);
                         Communicator.CommunicatorName = CommunicatorName;
                         if (!Communicator.Connect())
+                        {
                             LogInfo($"鍒濆鍖栭�氳鍙{CommunicatorName}]澶辫触,鍘熷洜鏄瘂Communicator.Msg}", LogInfoType.ERROR);
+                        }
                         else
+                        {
                             LogInfo($"鍒濆鍖栭�氳鍙{CommunicatorName}]鎴愬姛", LogInfoType.PASS);
+                        }
                         GlobalVar.dicCommunicators.TryAdd(CommunicatorName, Communicator);
                     }
                     else
@@ -810,7 +845,9 @@
                         string PORT = match.Groups[3].Value;        // "1111"
 
                         if (string.IsNullOrEmpty(ClassName) || string.IsNullOrEmpty(IP) || string.IsNullOrEmpty(PORT))
+                        {
                             break;
+                        }
 
                         //鍒╃敤鍙嶅皠鍒涘缓瀹炰緥
                         Type type = IProcess.GetExecutingAssembly().GetType(ClassName);
@@ -831,10 +868,13 @@
                         Communicator.CommunicatorConnections.Add("绔彛", PORT);
                         Communicator.CommunicatorName = CommunicatorName;
                         if (!Communicator.Connect())
+                        {
                             LogInfo($"鍒濆鍖栭�氳鍙{CommunicatorName}]澶辫触,鍘熷洜鏄瘂Communicator.Msg}", LogInfoType.ERROR);
+                        }
                         else
+                        {
                             LogInfo($"鍒濆鍖栭�氳鍙{CommunicatorName}]鎴愬姛", LogInfoType.PASS);
-
+                        }
                         GlobalVar.dicCommunicators.TryAdd(CommunicatorName, Communicator);
                     }
                     else
@@ -863,12 +903,12 @@
                     string PORT = item.Value.CommunicatorConnections["绔彛"].ToString();//"1111"
 
                     if (string.IsNullOrEmpty(ClassName) || string.IsNullOrEmpty(IP) || string.IsNullOrEmpty(PORT))
+                    {
                         break;
-
+                    }
                     string CommunicatorConnectionString = $"({ClassName})[{IP}][{PORT}]";
                     GlobalVar.allCommunicatorsConnectionString.TryAdd(item.Key, CommunicatorConnectionString);
                 }
-
                 var settings = new JsonSerializerSettings
                 {
                     Formatting = Formatting.Indented,
@@ -919,17 +959,19 @@
                 List<string> lstProcessName = JsonConvert.DeserializeObject<List<string>>(strJson);
 
                 if (lstProcessName == null)
+                {
                     return false;
-
+                }
                 // 浣跨敤鏂瑰紡
                 var sortedKeys = lstProcessName
                     .OrderBy(k => k, new NaturalStringComparer())
                     .ToList();
                 GlobalVar.dicProcesses.Clear();
                 foreach (var ProcessName in sortedKeys)
+                {
                     GlobalVar.dicProcesses.TryAdd(ProcessName
                         , new ProcessRunBll(ProcessName, GlobalVar.dicCameras, GlobalVar.dicCommunicators));
-
+                }
                 return true;
             }
             catch { return false; }
@@ -966,7 +1008,9 @@
                 foreach (var process in GlobalVar.dicProcesses.Values)
                 {
                     if (!process.Save(out string msg))
+                    {
                         LogInfo($"娴佺▼[{process.Name}]淇濆瓨澶辫触,鍘熷洜:{msg}", LogInfoType.NOSHOW);
+                    }
                 }
 
                 try
@@ -1440,6 +1484,27 @@
                 }
             });
         }
+
+        private void VisionForm_FormClosing(object sender, FormClosingEventArgs e)
+        {
+            SaveAllSetting();
+            if (MessageBox.Show("鏄惁鍏抽棴杞欢锛�", "鎻愮ず", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) != DialogResult.OK)//
+            {
+                e.Cancel = true;
+                return;
+            }
+            //鍏抽棴绐椾綋閲婃斁璧勬簮
+            AsyncLogHelper.Dispose();
+            foreach (BaseCamera camera in GlobalVar.dicCameras.Values)
+            {
+                camera.Dispose();
+            }
+            foreach (BaseCommunicator communicator in GlobalVar.dicCommunicators.Values)
+            {
+                communicator.Disconnect();
+            }
+            FormClosing -= VisionForm_FormClosing;
+        }
     }
 }
 
diff --git a/LB_VisionControl/ScriptEditControl/ClassFileList.Designer.cs b/LB_VisionControl/ScriptEditControl/ClassFileList.Designer.cs
index df4b91b..e5a591f 100644
--- a/LB_VisionControl/ScriptEditControl/ClassFileList.Designer.cs
+++ b/LB_VisionControl/ScriptEditControl/ClassFileList.Designer.cs
@@ -28,53 +28,53 @@
         /// </summary>
         private void InitializeComponent()
         {
-            this.listBox1 = new System.Windows.Forms.ListBox();
-            this.textBox1 = new System.Windows.Forms.TextBox();
-            this.SuspendLayout();
+            listBox1 = new ListBox();
+            textBox1 = new TextBox();
+            SuspendLayout();
             // 
             // listBox1
             // 
-            this.listBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                        | System.Windows.Forms.AnchorStyles.Right)));
-            this.listBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(17)))), ((int)(((byte)(18)))));
-            this.listBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
-            this.listBox1.Font = new System.Drawing.Font("寰蒋闆呴粦", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.listBox1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
-            this.listBox1.FormattingEnabled = true;
-            this.listBox1.ItemHeight = 17;
-            this.listBox1.Location = new System.Drawing.Point(0, 14);
-            this.listBox1.Name = "listBox1";
-            this.listBox1.Size = new System.Drawing.Size(483, 85);
-            this.listBox1.TabIndex = 0;
-            this.listBox1.SelectedIndexChanged += new System.EventHandler(this.listBox1_SelectedIndexChanged);
-            this.listBox1.DoubleClick += new System.EventHandler(this.listBox1_DoubleClick);
+            listBox1.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
+            listBox1.BackColor = Color.FromArgb(30, 17, 18);
+            listBox1.BorderStyle = BorderStyle.None;
+            listBox1.Font = new Font("寰蒋闆呴粦", 9F, FontStyle.Regular, GraphicsUnit.Point, 134);
+            listBox1.ForeColor = Color.FromArgb(255, 255, 128);
+            listBox1.FormattingEnabled = true;
+            listBox1.ItemHeight = 17;
+            listBox1.Location = new Point(0, 20);
+            listBox1.Margin = new Padding(4, 4, 4, 4);
+            listBox1.Name = "listBox1";
+            listBox1.Size = new Size(564, 119);
+            listBox1.TabIndex = 0;
+            listBox1.SelectedIndexChanged += listBox1_SelectedIndexChanged;
+            listBox1.DoubleClick += listBox1_DoubleClick;
             // 
             // textBox1
             // 
-            this.textBox1.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.textBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(17)))), ((int)(((byte)(18)))));
-            this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-            this.textBox1.Font = new System.Drawing.Font("寰蒋闆呴粦", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.textBox1.ForeColor = System.Drawing.Color.Green;
-            this.textBox1.Location = new System.Drawing.Point(0, 100);
-            this.textBox1.Multiline = true;
-            this.textBox1.Name = "textBox1";
-            this.textBox1.Size = new System.Drawing.Size(483, 105);
-            this.textBox1.TabIndex = 1;
-            this.textBox1.Text = "鏂囦欢绯荤粺";
+            textBox1.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
+            textBox1.BackColor = Color.FromArgb(30, 17, 18);
+            textBox1.BorderStyle = BorderStyle.FixedSingle;
+            textBox1.Font = new Font("寰蒋闆呴粦", 9F, FontStyle.Regular, GraphicsUnit.Point, 134);
+            textBox1.ForeColor = Color.Green;
+            textBox1.Location = new Point(0, 142);
+            textBox1.Margin = new Padding(4, 4, 4, 4);
+            textBox1.Multiline = true;
+            textBox1.Name = "textBox1";
+            textBox1.Size = new Size(563, 148);
+            textBox1.TabIndex = 1;
+            textBox1.Text = "鏂囦欢绯荤粺";
             // 
             // ClassFileList
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.Controls.Add(this.textBox1);
-            this.Controls.Add(this.listBox1);
-            this.Name = "ClassFileList";
-            this.Size = new System.Drawing.Size(483, 208);
-            this.ResumeLayout(false);
-            this.PerformLayout();
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
+            Controls.Add(textBox1);
+            Controls.Add(listBox1);
+            Margin = new Padding(4, 4, 4, 4);
+            Name = "ClassFileList";
+            Size = new Size(564, 295);
+            ResumeLayout(false);
+            PerformLayout();
 
         }
 
diff --git a/LB_VisionControl/ScriptEditControl/ClassFileList.resx b/LB_VisionControl/ScriptEditControl/ClassFileList.resx
index 758fd19..79b71e5 100644
--- a/LB_VisionControl/ScriptEditControl/ClassFileList.resx
+++ b/LB_VisionControl/ScriptEditControl/ClassFileList.resx
@@ -1,17 +1,17 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
+  <!--
+    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 
+
+    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>
@@ -26,36 +26,36 @@
         <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 
+
+    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 
+
+    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 
+
+    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 
+
+    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 
+    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 
+    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 
+    value   : The object must be serialized into a byte array
             : using a System.ComponentModel.TypeConverter
             : and then encoded with base64 encoding.
     -->
@@ -117,13 +117,13 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <metadata name="listBox1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="listBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="textBox1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="textBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
 </root>
\ No newline at end of file
diff --git a/LB_VisionControl/ScriptEditControl/ComplieUI.Designer.cs b/LB_VisionControl/ScriptEditControl/ComplieUI.Designer.cs
index b8dcae0..43e459e 100644
--- a/LB_VisionControl/ScriptEditControl/ComplieUI.Designer.cs
+++ b/LB_VisionControl/ScriptEditControl/ComplieUI.Designer.cs
@@ -28,174 +28,178 @@
         /// </summary>
         private void InitializeComponent()
         {
-            this.btnCsc = new System.Windows.Forms.Button();
-            this.chkCmd = new System.Windows.Forms.CheckBox();
-            this.radDll = new System.Windows.Forms.RadioButton();
-            this.radWinexe = new System.Windows.Forms.RadioButton();
-            this.radExe = new System.Windows.Forms.RadioButton();
-            this.txtArgs = new System.Windows.Forms.TextBox();
-            this.label2 = new System.Windows.Forms.Label();
-            this.txtOutput = new System.Windows.Forms.TextBox();
-            this.contextMenuStripEx1 = new ContextMenuStripEx();
-            this.澶嶅埗ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
-            this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
-            this.娓呴櫎ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
-            this.contextMenuStripEx1.SuspendLayout();
-            this.SuspendLayout();
+            btnCsc = new Button();
+            chkCmd = new CheckBox();
+            radDll = new RadioButton();
+            radWinexe = new RadioButton();
+            radExe = new RadioButton();
+            txtArgs = new TextBox();
+            label2 = new Label();
+            txtOutput = new TextBox();
+            contextMenuStripEx1 = new ContextMenuStripEx();
+            澶嶅埗ToolStripMenuItem = new ToolStripMenuItem();
+            toolStripMenuItem1 = new ToolStripSeparator();
+            娓呴櫎ToolStripMenuItem = new ToolStripMenuItem();
+            contextMenuStripEx1.SuspendLayout();
+            SuspendLayout();
             // 
             // btnCsc
             // 
-            this.btnCsc.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-            this.btnCsc.Font = new System.Drawing.Font("寰蒋闆呴粦", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.btnCsc.ForeColor = System.Drawing.Color.White;
-            this.btnCsc.Location = new System.Drawing.Point(356, 3);
-            this.btnCsc.Name = "btnCsc";
-            this.btnCsc.Size = new System.Drawing.Size(44, 23);
-            this.btnCsc.TabIndex = 16;
-            this.btnCsc.Text = "CSC";
-            this.btnCsc.UseVisualStyleBackColor = true;
-            this.btnCsc.Click += new System.EventHandler(this.btnCsc_Click);
+            btnCsc.FlatStyle = FlatStyle.Flat;
+            btnCsc.Font = new Font("寰蒋闆呴粦", 9F, FontStyle.Bold, GraphicsUnit.Point, 134);
+            btnCsc.ForeColor = Color.White;
+            btnCsc.Location = new Point(415, 4);
+            btnCsc.Margin = new Padding(4, 4, 4, 4);
+            btnCsc.Name = "btnCsc";
+            btnCsc.Size = new Size(51, 33);
+            btnCsc.TabIndex = 16;
+            btnCsc.Text = "CSC";
+            btnCsc.UseVisualStyleBackColor = true;
+            btnCsc.Click += btnCsc_Click;
             // 
             // chkCmd
             // 
-            this.chkCmd.AutoSize = true;
-            this.chkCmd.Font = new System.Drawing.Font("寰蒋闆呴粦", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.chkCmd.ForeColor = System.Drawing.Color.White;
-            this.chkCmd.Location = new System.Drawing.Point(304, 6);
-            this.chkCmd.Name = "chkCmd";
-            this.chkCmd.Size = new System.Drawing.Size(57, 21);
-            this.chkCmd.TabIndex = 13;
-            this.chkCmd.Text = "CMD";
-            this.chkCmd.UseVisualStyleBackColor = true;
+            chkCmd.AutoSize = true;
+            chkCmd.Font = new Font("寰蒋闆呴粦", 9F, FontStyle.Bold, GraphicsUnit.Point, 134);
+            chkCmd.ForeColor = Color.White;
+            chkCmd.Location = new Point(355, 8);
+            chkCmd.Margin = new Padding(4, 4, 4, 4);
+            chkCmd.Name = "chkCmd";
+            chkCmd.Size = new Size(57, 21);
+            chkCmd.TabIndex = 13;
+            chkCmd.Text = "CMD";
+            chkCmd.UseVisualStyleBackColor = true;
             // 
             // radDll
             // 
-            this.radDll.AutoSize = true;
-            this.radDll.Font = new System.Drawing.Font("寰蒋闆呴粦", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.radDll.ForeColor = System.Drawing.Color.White;
-            this.radDll.Location = new System.Drawing.Point(256, 5);
-            this.radDll.Name = "radDll";
-            this.radDll.Size = new System.Drawing.Size(42, 21);
-            this.radDll.TabIndex = 12;
-            this.radDll.Text = "dll";
-            this.radDll.UseVisualStyleBackColor = true;
+            radDll.AutoSize = true;
+            radDll.Font = new Font("寰蒋闆呴粦", 9F, FontStyle.Bold, GraphicsUnit.Point, 134);
+            radDll.ForeColor = Color.White;
+            radDll.Location = new Point(299, 7);
+            radDll.Margin = new Padding(4, 4, 4, 4);
+            radDll.Name = "radDll";
+            radDll.Size = new Size(42, 21);
+            radDll.TabIndex = 12;
+            radDll.Text = "dll";
+            radDll.UseVisualStyleBackColor = true;
             // 
             // radWinexe
             // 
-            this.radWinexe.AutoSize = true;
-            this.radWinexe.Font = new System.Drawing.Font("寰蒋闆呴粦", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.radWinexe.ForeColor = System.Drawing.Color.White;
-            this.radWinexe.Location = new System.Drawing.Point(185, 5);
-            this.radWinexe.Name = "radWinexe";
-            this.radWinexe.Size = new System.Drawing.Size(69, 21);
-            this.radWinexe.TabIndex = 10;
-            this.radWinexe.Text = "winexe";
-            this.radWinexe.UseVisualStyleBackColor = true;
+            radWinexe.AutoSize = true;
+            radWinexe.Font = new Font("寰蒋闆呴粦", 9F, FontStyle.Bold, GraphicsUnit.Point, 134);
+            radWinexe.ForeColor = Color.White;
+            radWinexe.Location = new Point(216, 7);
+            radWinexe.Margin = new Padding(4, 4, 4, 4);
+            radWinexe.Name = "radWinexe";
+            radWinexe.Size = new Size(69, 21);
+            radWinexe.TabIndex = 10;
+            radWinexe.Text = "winexe";
+            radWinexe.UseVisualStyleBackColor = true;
             // 
             // radExe
             // 
-            this.radExe.AutoSize = true;
-            this.radExe.BackColor = System.Drawing.Color.Transparent;
-            this.radExe.Checked = true;
-            this.radExe.Font = new System.Drawing.Font("寰蒋闆呴粦", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.radExe.ForeColor = System.Drawing.Color.White;
-            this.radExe.Location = new System.Drawing.Point(137, 5);
-            this.radExe.Name = "radExe";
-            this.radExe.Size = new System.Drawing.Size(47, 21);
-            this.radExe.TabIndex = 11;
-            this.radExe.TabStop = true;
-            this.radExe.Text = "exe";
-            this.radExe.UseVisualStyleBackColor = false;
+            radExe.AutoSize = true;
+            radExe.BackColor = Color.Transparent;
+            radExe.Checked = true;
+            radExe.Font = new Font("寰蒋闆呴粦", 9F, FontStyle.Bold, GraphicsUnit.Point, 134);
+            radExe.ForeColor = Color.White;
+            radExe.Location = new Point(160, 7);
+            radExe.Margin = new Padding(4, 4, 4, 4);
+            radExe.Name = "radExe";
+            radExe.Size = new Size(47, 21);
+            radExe.TabIndex = 11;
+            radExe.TabStop = true;
+            radExe.Text = "exe";
+            radExe.UseVisualStyleBackColor = false;
             // 
             // txtArgs
             // 
-            this.txtArgs.BackColor = System.Drawing.Color.White;
-            this.txtArgs.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-            this.txtArgs.Font = new System.Drawing.Font("寰蒋闆呴粦", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.txtArgs.Location = new System.Drawing.Point(45, 3);
-            this.txtArgs.Name = "txtArgs";
-            this.txtArgs.Size = new System.Drawing.Size(86, 23);
-            this.txtArgs.TabIndex = 8;
+            txtArgs.BackColor = Color.White;
+            txtArgs.BorderStyle = BorderStyle.FixedSingle;
+            txtArgs.Font = new Font("寰蒋闆呴粦", 9F, FontStyle.Regular, GraphicsUnit.Point, 134);
+            txtArgs.Location = new Point(52, 4);
+            txtArgs.Margin = new Padding(4, 4, 4, 4);
+            txtArgs.Name = "txtArgs";
+            txtArgs.Size = new Size(100, 23);
+            txtArgs.TabIndex = 8;
             // 
             // label2
             // 
-            this.label2.AutoSize = true;
-            this.label2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
-            this.label2.Font = new System.Drawing.Font("寰蒋闆呴粦", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.label2.ForeColor = System.Drawing.Color.White;
-            this.label2.Location = new System.Drawing.Point(3, 7);
-            this.label2.Name = "label2";
-            this.label2.Size = new System.Drawing.Size(44, 17);
-            this.label2.TabIndex = 9;
-            this.label2.Text = "鍙傛暟锛�";
+            label2.AutoSize = true;
+            label2.FlatStyle = FlatStyle.Flat;
+            label2.Font = new Font("寰蒋闆呴粦", 9F, FontStyle.Bold, GraphicsUnit.Point, 134);
+            label2.ForeColor = Color.White;
+            label2.Location = new Point(4, 10);
+            label2.Margin = new Padding(4, 0, 4, 0);
+            label2.Name = "label2";
+            label2.Size = new Size(44, 17);
+            label2.TabIndex = 9;
+            label2.Text = "鍙傛暟锛�";
             // 
             // txtOutput
             // 
-            this.txtOutput.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.txtOutput.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(17)))), ((int)(((byte)(18)))));
-            this.txtOutput.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
-            this.txtOutput.ContextMenuStrip = this.contextMenuStripEx1;
-            this.txtOutput.Font = new System.Drawing.Font("寰蒋闆呴粦", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.txtOutput.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
-            this.txtOutput.Location = new System.Drawing.Point(0, 29);
-            this.txtOutput.Multiline = true;
-            this.txtOutput.Name = "txtOutput";
-            this.txtOutput.ReadOnly = true;
-            this.txtOutput.ScrollBars = System.Windows.Forms.ScrollBars.Both;
-            this.txtOutput.Size = new System.Drawing.Size(492, 162);
-            this.txtOutput.TabIndex = 7;
+            txtOutput.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
+            txtOutput.BackColor = Color.FromArgb(30, 17, 18);
+            txtOutput.BorderStyle = BorderStyle.FixedSingle;
+            txtOutput.ContextMenuStrip = contextMenuStripEx1;
+            txtOutput.Font = new Font("寰蒋闆呴粦", 10.5F, FontStyle.Regular, GraphicsUnit.Point, 134);
+            txtOutput.ForeColor = Color.FromArgb(255, 255, 128);
+            txtOutput.Location = new Point(0, 41);
+            txtOutput.Margin = new Padding(4, 4, 4, 4);
+            txtOutput.Multiline = true;
+            txtOutput.Name = "txtOutput";
+            txtOutput.ReadOnly = true;
+            txtOutput.ScrollBars = ScrollBars.Both;
+            txtOutput.Size = new Size(574, 229);
+            txtOutput.TabIndex = 7;
             // 
             // contextMenuStripEx1
             // 
-            this.contextMenuStripEx1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
-            this.澶嶅埗ToolStripMenuItem,
-            this.toolStripMenuItem1,
-            this.娓呴櫎ToolStripMenuItem});
-            this.contextMenuStripEx1.Name = "contextMenuStripEx1";
-            this.contextMenuStripEx1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
-            this.contextMenuStripEx1.Size = new System.Drawing.Size(101, 54);
+            contextMenuStripEx1.Items.AddRange(new ToolStripItem[] { 澶嶅埗ToolStripMenuItem, toolStripMenuItem1, 娓呴櫎ToolStripMenuItem });
+            contextMenuStripEx1.Name = "contextMenuStripEx1";
+            contextMenuStripEx1.RenderMode = ToolStripRenderMode.System;
+            contextMenuStripEx1.Size = new Size(101, 54);
             // 
             // 澶嶅埗ToolStripMenuItem
             // 
-            this.澶嶅埗ToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
-            this.澶嶅埗ToolStripMenuItem.Name = "澶嶅埗ToolStripMenuItem";
-            this.澶嶅埗ToolStripMenuItem.Size = new System.Drawing.Size(100, 22);
-            this.澶嶅埗ToolStripMenuItem.Text = "澶嶅埗";
-            this.澶嶅埗ToolStripMenuItem.Click += new System.EventHandler(this.texstToolStripMenuItem_Click);
+            澶嶅埗ToolStripMenuItem.ForeColor = Color.FromArgb(255, 255, 128);
+            澶嶅埗ToolStripMenuItem.Name = "澶嶅埗ToolStripMenuItem";
+            澶嶅埗ToolStripMenuItem.Size = new Size(100, 22);
+            澶嶅埗ToolStripMenuItem.Text = "澶嶅埗";
+            澶嶅埗ToolStripMenuItem.Click += texstToolStripMenuItem_Click;
             // 
             // toolStripMenuItem1
             // 
-            this.toolStripMenuItem1.Name = "toolStripMenuItem1";
-            this.toolStripMenuItem1.Size = new System.Drawing.Size(97, 6);
+            toolStripMenuItem1.Name = "toolStripMenuItem1";
+            toolStripMenuItem1.Size = new Size(97, 6);
             // 
             // 娓呴櫎ToolStripMenuItem
             // 
-            this.娓呴櫎ToolStripMenuItem.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
-            this.娓呴櫎ToolStripMenuItem.Name = "娓呴櫎ToolStripMenuItem";
-            this.娓呴櫎ToolStripMenuItem.Size = new System.Drawing.Size(100, 22);
-            this.娓呴櫎ToolStripMenuItem.Text = "娓呴櫎";
-            this.娓呴櫎ToolStripMenuItem.Click += new System.EventHandler(this.娓呮ToolStripMenuItem_Click);
+            娓呴櫎ToolStripMenuItem.ForeColor = Color.FromArgb(255, 255, 128);
+            娓呴櫎ToolStripMenuItem.Name = "娓呴櫎ToolStripMenuItem";
+            娓呴櫎ToolStripMenuItem.Size = new Size(100, 22);
+            娓呴櫎ToolStripMenuItem.Text = "娓呴櫎";
+            娓呴櫎ToolStripMenuItem.Click += 娓呮ToolStripMenuItem_Click;
             // 
             // ComplieUI
             // 
-            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
-            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.BackColor = System.Drawing.Color.Black;
-            this.Controls.Add(this.radDll);
-            this.Controls.Add(this.btnCsc);
-            this.Controls.Add(this.chkCmd);
-            this.Controls.Add(this.radWinexe);
-            this.Controls.Add(this.radExe);
-            this.Controls.Add(this.txtOutput);
-            this.Controls.Add(this.txtArgs);
-            this.Controls.Add(this.label2);
-            this.Name = "ComplieUI";
-            this.Size = new System.Drawing.Size(492, 192);
-            this.contextMenuStripEx1.ResumeLayout(false);
-            this.ResumeLayout(false);
-            this.PerformLayout();
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
+            BackColor = Color.Black;
+            Controls.Add(radDll);
+            Controls.Add(btnCsc);
+            Controls.Add(chkCmd);
+            Controls.Add(radWinexe);
+            Controls.Add(radExe);
+            Controls.Add(txtOutput);
+            Controls.Add(txtArgs);
+            Controls.Add(label2);
+            Margin = new Padding(4, 4, 4, 4);
+            Name = "ComplieUI";
+            Size = new Size(574, 272);
+            contextMenuStripEx1.ResumeLayout(false);
+            ResumeLayout(false);
+            PerformLayout();
 
         }
 
diff --git a/LB_VisionControl/ScriptEditControl/ComplieUI.resx b/LB_VisionControl/ScriptEditControl/ComplieUI.resx
index d7fa7ca..2b6e571 100644
--- a/LB_VisionControl/ScriptEditControl/ComplieUI.resx
+++ b/LB_VisionControl/ScriptEditControl/ComplieUI.resx
@@ -1,17 +1,17 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
+  <!--
+    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 
+
+    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>
@@ -26,36 +26,36 @@
         <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 
+
+    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 
+
+    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 
+
+    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 
+
+    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 
+    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 
+    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 
+    value   : The object must be serialized into a byte array
             : using a System.ComponentModel.TypeConverter
             : and then encoded with base64 encoding.
     -->
@@ -117,34 +117,34 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <metadata name="btnCsc.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="btnCsc.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="chkCmd.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="chkCmd.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="radDll.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="radDll.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="radWinexe.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="radWinexe.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="radExe.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="radExe.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="txtArgs.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="txtArgs.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="label2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="label2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="txtOutput.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="txtOutput.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <metadata name="contextMenuStripEx1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+  <metadata name="contextMenuStripEx1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>182, 17</value>
   </metadata>
-  <metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+  <metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
 </root>
\ No newline at end of file
diff --git a/LB_VisionControl/ScriptEditControl/ConsoleTextBox.resx b/LB_VisionControl/ScriptEditControl/ConsoleTextBox.resx
index 7080a7d..6392ed1 100644
--- a/LB_VisionControl/ScriptEditControl/ConsoleTextBox.resx
+++ b/LB_VisionControl/ScriptEditControl/ConsoleTextBox.resx
@@ -1,17 +1,17 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
-  <!-- 
-    Microsoft ResX Schema 
-    
+  <!--
+    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 
+
+    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>
@@ -26,36 +26,36 @@
         <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 
+
+    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 
+
+    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 
+
+    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 
+
+    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 
+    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 
+    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 
+    value   : The object must be serialized into a byte array
             : using a System.ComponentModel.TypeConverter
             : and then encoded with base64 encoding.
     -->
diff --git a/LB_VisionControl/ScriptEditControl/ScriptEditControl.Designer.cs b/LB_VisionControl/ScriptEditControl/ScriptEditControl.Designer.cs
index 4098727..4cacf20 100644
--- a/LB_VisionControl/ScriptEditControl/ScriptEditControl.Designer.cs
+++ b/LB_VisionControl/ScriptEditControl/ScriptEditControl.Designer.cs
@@ -74,7 +74,7 @@
             fctb_ScriptEditControl.Language = Language.CSharp;
             fctb_ScriptEditControl.LineNumberColor = Color.Black;
             fctb_ScriptEditControl.Location = new Point(0, 0);
-            fctb_ScriptEditControl.Margin = new Padding(4, 4, 4, 4);
+            fctb_ScriptEditControl.Margin = new Padding(4);
             fctb_ScriptEditControl.Name = "fctb_ScriptEditControl";
             fctb_ScriptEditControl.Paddings = new Padding(0);
             fctb_ScriptEditControl.SelectionColor = Color.FromArgb(100, 255, 255, 128);
@@ -178,30 +178,30 @@
             pnl_ScriptEditControl.BackColor = Color.DarkSlateGray;
             pnl_ScriptEditControl.Controls.Add(pnl_ControlView);
             pnl_ScriptEditControl.Location = new Point(-75, 128);
-            pnl_ScriptEditControl.Margin = new Padding(4, 4, 4, 4);
+            pnl_ScriptEditControl.Margin = new Padding(4);
             pnl_ScriptEditControl.Name = "pnl_ScriptEditControl";
             pnl_ScriptEditControl.Size = new Size(719, 42);
             pnl_ScriptEditControl.TabIndex = 2;
             pnl_ScriptEditControl.Visible = false;
             // 
-            // panControlView
+            // pnl_ControlView
             // 
             pnl_ControlView.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
             pnl_ControlView.Location = new Point(2, 3);
-            pnl_ControlView.Margin = new Padding(4, 4, 4, 4);
-            pnl_ControlView.Name = "panControlView";
+            pnl_ControlView.Margin = new Padding(4);
+            pnl_ControlView.Name = "pnl_ControlView";
             pnl_ControlView.Size = new Size(1292, 0);
             pnl_ControlView.TabIndex = 8;
             // 
             // ScriptEditControl
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             BackColor = Color.DimGray;
             Controls.Add(pnl_ScriptEditControl);
             Controls.Add(fctb_ScriptEditControl);
             DoubleBuffered = true;
-            Margin = new Padding(4, 4, 4, 4);
+            Margin = new Padding(4);
             Name = "ScriptEditControl";
             Size = new Size(568, 298);
             KeyDown += Form1_KeyDown;
diff --git a/LB_VisionControl/ScriptEditControl/ScriptEditForm.Designer.cs b/LB_VisionControl/ScriptEditControl/ScriptEditForm.Designer.cs
index 0765b90..55368a7 100644
--- a/LB_VisionControl/ScriptEditControl/ScriptEditForm.Designer.cs
+++ b/LB_VisionControl/ScriptEditControl/ScriptEditForm.Designer.cs
@@ -215,7 +215,7 @@
             splitContainer2.Panel2.BackColor = Color.DimGray;
             splitContainer2.Panel2.Controls.Add(splitContainer3);
             splitContainer2.Size = new Size(1050, 819);
-            splitContainer2.SplitterDistance = 636;
+            splitContainer2.SplitterDistance = 637;
             splitContainer2.SplitterWidth = 3;
             splitContainer2.TabIndex = 2;
             // 
@@ -247,7 +247,7 @@
             fctb.Paddings = new Padding(0);
             fctb.SelectionColor = Color.FromArgb(100, 255, 255, 128);
             fctb.ServiceLinesColor = Color.DarkGoldenrod;
-            fctb.Size = new Size(1050, 636);
+            fctb.Size = new Size(1050, 637);
             fctb.TabIndex = 0;
             fctb.TextChanged += fctb_TextChanged;
             fctb.KeyDown += fctb_KeyDown;
@@ -343,8 +343,8 @@
             // 
             splitContainer3.Panel2.BackColor = Color.FromArgb(30, 17, 18);
             splitContainer3.Panel2MinSize = 10;
-            splitContainer3.Size = new Size(1050, 180);
-            splitContainer3.SplitterDistance = 153;
+            splitContainer3.Size = new Size(1050, 179);
+            splitContainer3.SplitterDistance = 152;
             splitContainer3.SplitterWidth = 2;
             splitContainer3.TabIndex = 1;
             // 
@@ -371,7 +371,7 @@
             DebugTextBox1.SelectionColor = Color.FromArgb(50, 0, 0, 255);
             DebugTextBox1.ServiceLinesColor = Color.DarkGoldenrod;
             DebugTextBox1.ShowLineNumbers = false;
-            DebugTextBox1.Size = new Size(1050, 153);
+            DebugTextBox1.Size = new Size(1050, 152);
             DebugTextBox1.TabIndex = 0;
             DebugTextBox1.KeyDown += DebugTextBox1_KeyDown;
             // 
@@ -393,8 +393,8 @@
             // 
             // ScriptEditForm
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             BackColor = Color.DimGray;
             ClientSize = new Size(1050, 865);
             ControlBox = false;
diff --git a/LB_VisionControl/UserHSmartWindowControl.Designer.cs b/LB_VisionControl/UserHSmartWindowControl.Designer.cs
index 9bd4448..e4cc615 100644
--- a/LB_VisionControl/UserHSmartWindowControl.Designer.cs
+++ b/LB_VisionControl/UserHSmartWindowControl.Designer.cs
@@ -120,8 +120,8 @@
             // 
             // UserHSmartWindowControl
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(pnl);
             Controls.Add(BtmStatusStrip);
             Margin = new Padding(4);
diff --git a/LB_VisionControl/UserHSmartWindowControl.resx b/LB_VisionControl/UserHSmartWindowControl.resx
index 29b82e3..381d78c 100644
--- a/LB_VisionControl/UserHSmartWindowControl.resx
+++ b/LB_VisionControl/UserHSmartWindowControl.resx
@@ -1,7 +1,7 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
   <!--
-    Microsoft ResX Schema 
+    Microsoft ResX Schema
 
     Version 2.0
 
@@ -48,7 +48,7 @@
     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
diff --git a/LB_VisionFlowNode/FlowNodeEditor.Designer.cs b/LB_VisionFlowNode/FlowNodeEditor.Designer.cs
index 96781ea..9ce1675 100644
--- a/LB_VisionFlowNode/FlowNodeEditor.Designer.cs
+++ b/LB_VisionFlowNode/FlowNodeEditor.Designer.cs
@@ -109,8 +109,8 @@
             // 
             // FlowNodeEditor
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(pnl_FlowNodeEditor);
             Controls.Add(tsp_Top);
             Name = "FlowNodeEditor";
diff --git a/LB_VisionFlowNode/MainForm.Designer.cs b/LB_VisionFlowNode/MainForm.Designer.cs
index 5169370..f5a06b2 100644
--- a/LB_VisionFlowNode/MainForm.Designer.cs
+++ b/LB_VisionFlowNode/MainForm.Designer.cs
@@ -78,8 +78,8 @@
             // 
             // MainForm
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             ClientSize = new Size(800, 450);
             Controls.Add(themeForm);
             FormBorderStyle = FormBorderStyle.None;
diff --git a/LB_VisionFlowNode/MainForm.resx b/LB_VisionFlowNode/MainForm.resx
index d3dab5c..59840b7 100644
--- a/LB_VisionFlowNode/MainForm.resx
+++ b/LB_VisionFlowNode/MainForm.resx
@@ -120,9 +120,11 @@
   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <data name="themeForm.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAACVUSURBVHhe7dXLDnD/OYbhb1RnQP1L5yZodRe7gUTsK6k2StJo42Boi3AE9gRnRChBgqGx4gCu
-        +e/NnTwr12jNVlbe+/nw8z/8vWlf+dxHab/1kz+Y9tUvfCLNL2r58mc/SvvGT38y7Yuf+njaB5PaYlJb
+        iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAABGdBTUEAALGPC/xhBQAAJVRJREFUeF7t
+        1csOcP85huFvVGdA/UvnJmh1F7uBROwrqTZK0mjjYGiLcAT2BGdEKEGCobHiAK75782dPCvXaM1WVt77
+        +fDzP/y9aV/53Edpv/WTP5j21S98Is0vavnyZz9K+8ZPfzLti5/6eNoHk9piUls86RaT2uIXtZjUFpPa
+        YlJbNgDHPOkWk9riF7WY1BaT2mJSWzYAxzzpFpPa4he1mNQWk9piUls2AMc86RaT2uIXtZjUFpPaYlJb
+        NgDHPOkWk9riF7WY1BaT2mJSWzYAxzzpFpPa4he1mNQWk9piUls2AMc86RaT2uIXtZjUFpPaYlJbNgDH
         POkWk9riF7WY1BaT2mJSWzYAxzzpFpPa4he1mNQWk9piUls2AMc86RaT2uIXtZjUFpPaYlJbNgDHPOkW
         k9riF7WY1BaT2mJSWzYAxzzpFpPa4he1mNQWk9piUls2AMc86RaT2uIXtZjUFpPaYlJbNgDHPOkWk9ri
         F7WY1BaT2mJSWzYAxzzpFpPa4he1mNQWk9piUls2AMc86RaT2uIXtZjUFpPaYlJbNgDHPOkWk9riF7WY
@@ -140,119 +142,108 @@
         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
-        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
-        gGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnU
-        FpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqL
-        SW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWk
-        tpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJb
-        TGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0b
-        gGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnU
-        FpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqL
-        SW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWk
-        tpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJb
-        TGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0b
-        gGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnU
-        FpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqL
-        SW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWk
-        tpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJb
-        TGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0b
-        gGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnU
-        FpPaYlJbTGqLSW0xqS0ffv3zn0j7xz/7Ztp3/vxbab/8qY+nfTHun//i22n/8Td/mPaVz32UtgE4ZlJb
-        TGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0m
-        tcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPa
-        YlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0x
-        qS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwA
-        jpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJb
-        TGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0m
-        tcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPa
-        YlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0x
-        qS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwA
-        jpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJb
-        TGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0m
-        tcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPa
-        YlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0x
-        qS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwA
-        jpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJb
-        TGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0m
-        tcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPa
-        YlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwAjpnUFpPaYlJbTGqLSW0x
-        qS0bgGMmtcWktpjUFpPaYlJbTGrLBuCYSW0xqS0mtcWktpjUFpPasgE4ZlJbTGqLSW0xqS0mtcWktmwA
-        jpnUFpPaYlJbTGqLSW0xqS0bgGMmtcWktpjUFpPaYlJbTGrLhy995vvT/KSWL3+27bv/899z6Euf+SjN
-        i2j51U9/PG0DcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUD
-        cMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmk
-        tngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNw
-        zKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2
-        eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DM
-        pLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4
-        ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyk
-        tpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngR
-        LSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2
+        YlJbNgDHPOkWk9riF7WY1BaT2mJSWzYAxzzpFpPa4he1mNQWk9piUls+fOfPv5X2tZ/4wTRPouUXf+T7
+        0r7+U59M+5VPfTzNi2j5z7/9o7QNwDGT2mJSW0xqi0lt8SJaTGrLBuCYSW0xqS0mtcWktngRLSa1ZQNw
+        zKS2mNQWk9piUlu8iBaT2rIBOGZSW0xqi0ltMaktXkSLSW3ZABwzqS0mtcWktpjUFi+ixaS2bACOmdQW
+        k9piUltMaosX0WJSWzYAx0xqi0ltMaktJrXFi2gxqS0bgGMmtcWktpjUFpPa4kW0mNSWDcAxk9piUltM
+        aotJbfEiWkxqywbgmEltMaktJrXFpLZ4ES0mtWUDcMyktpjUFpPaYlJbvIgWk9qyAThmUltMaotJbTGp
+        LV5Ei0lt2QAcM6ktJrXFpLaY1BYvosWktmwAjpnUFpPaYlJbTGqLF9FiUls2AMdMaotJbTGpLSa1xYto
+        MaktG4BjJrXFpLaY1BaT2uJFtJjUlg3AMZPaYlJbTGqLSW3xIlpMassG4JhJbTGpLSa1xaS2eBEtJrVl
+        A3DMpLaY1BaT2mJSW7yIFpPasgE4ZlJbTGqLSW0xqS1eRItJbdkAHDOpLSa1xaS2mNQWL6LFpLZsAI6Z
+        1BaT2mJSW0xqixfRYlJbNgDHTGqLSW0xqS0mtcWLaDGpLRuAYya1xaS2mNQWk9riRbSY1JYNwDGT2mJS
+        W0xqi0lt8SJaTGrLBuCYSW0xqS0mtcWktngRLSa1ZQNwzKS2mNQWk9piUlu8iBaT2rIBOGZSW0xqi0lt
+        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
+        LRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACO
+        mdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltM
+        aotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1
+        xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9pi
+        UltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGp
+        LRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACO
+        mdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltM
+        aotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1
+        xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9pi
+        UltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGp
+        LRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACO
+        mdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltM
+        aotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1
+        xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9pi
+        UltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGp
+        LR9+/fOfSPvHP/tm2nf+/Ftpv/ypj6d9Me6f/+Lbaf/xN3+Y9pXPfZS2AThmUltMaotJbTGpLSa1xaS2
+        bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThm
+        UltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGp
+        LSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQW
+        k9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJ
+        bTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2
+        bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThm
+        UltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGp
+        LSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQW
+        k9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJ
+        bTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2
+        bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThm
+        UltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGp
+        LSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQW
+        k9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJ
+        bTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2
+        bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThm
+        UltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQWk9piUltMassG4JhJbTGp
+        LSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJbTGpLRuAYya1xaS2mNQW
+        k9piUltMassG4JhJbTGpLSa1xaS2mNQWk9qyAThmUltMaotJbTGpLSa1xaS2bACOmdQWk9piUltMaotJ
+        bTGpLRuAYya1xaS2mNQWk9piUltMasuHL33m+9P8pJYvf7btu//z33PoS5/5KM2LaPnVT388bQNwzKS2
         mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEt
         JrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaY
         pHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0m
@@ -261,26 +252,35 @@
         ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5
         yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVl
         A3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJ
-        pLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mteXD
-        N37hx9J++5c+k/a1n/1U2lc+94m0X/vsR2lf/7lPp331Z354Dm0AjpnUFpPaYlJbTGqLSZqXNgDHTGqL
-        SW0xqS0mtcUkzUsbgGMmtcWktpjUFpPaYpLmpQ3AMZPaYlJbTGqLSW0xSfPSBuCYSW0xqS0mtcWktpik
-        eWkDcMyktpjUFpPaYlJbTNK8tAE4ZlJbTGqLSW0xqS0maV7aABwzqS0mtcWktpjUFpM0L20AjpnUFpPa
-        YlJbTGqLSZqXNgDHTGqLSW0xqS0mtcUkzUsbgGMmtcWktpjUFpPaYpLmpQ3AMZPaYlJbTGqLSW0xSfPS
-        BuCYSW0xqS0mtcWktpikeWkDcMyktpjUFpPaYlJbTNK8tAE4ZlJbTGqLSW0xqS0maV7aABwzqS0mtcWk
-        tpjUFpM0L20AjpnUFpPaYlJbTGqLSZqXNgDHTGqLSW0xqS0mtcUkzUsbgGMmtcWktpjUFpPaYpLmpQ3A
-        MZPaYlJbTGqLSW0xSfPSBuCYSW0xqS0mtcWktpikeWkDcMyktpjUFpPaYlJbTNK8tAE4ZlJbTGqLSW0x
-        qS0maV7aABwzqS0mtcWktpjUFpM0L20AjpnUFpPaYlJbTGqLSZqXNgDHTGqLSW0xqS0mtcUkzUsbgGMm
-        tcWktpjUFpPaYpLmpQ3AMZPaYlJbTGqLSW0xSfPSBuCYSW0xqS0mtcWktpikeWkDcMyktpjUFpPaYlJb
-        TNK8tAE4ZlJbTGqLSW0xqS0maV7aABwzqS0mtcWktpjUFpM0L20AjpnUFpPaYlJbTGqLSZqXNgDHTGqL
-        SW0xqS0mtcUkzUsbgGMmtcWktpjUFpPaYpLmpQ3AMZPaYlJbTGqLSW0xSfPSBuCYSW0xqS0mtcWktpik
-        eWkDcMyktpjUFpPaYlJbTNK8tAE4ZlJbTGqLSW0xqS0maV7aABwzqS0mtcWktpjUFpM0L20AjpnUFpPa
-        YlJbTGqLSZqXNgDHTGqLSW0xqS0mtcUkzUsbgGMmtcWktpjUFpPaYpLmpQ3AMZPaYlJbTGqLSW0xSfPS
-        BuCYSW0xqS0mtcWktpikeWkDcMyktpjUFpPaYlJbTNK8tAE4ZlJbTGqLSW0xqS0maV7aABwzqS0mtcWk
-        tpjUFpM0L20AjpnUFpPaYlJbTGqLSZqXNgDHTGqLSW0xqS0mtcUkzUsbgGMmtcWktpjUFpPaYpLmpQ3A
-        MZPaYlJbTGqLSW0xSfPSBuCYSW0xqS0mtcWktpikeWkDcMyktpjUFpPaYlJbTNK8tAE4ZlJbTGqLSW0x
-        qS0maV7aABwzqS0mtcWktpjUFpM0L20AjpnUFpPaYlJbTGqLSZqXNgDHTGqLSW0xqS0mtcUkzUsbgGMm
-        tcWktpjUFpPaYpLmpQ3AMZPaYlJbTGqLSW0xSfPSBuCYSW0xqS0mtcWktpikeWkDcMyktpjUFpPaYlJb
-        TNK8tAE4ZlJbTGqLSW0xqS0maV76fzfth9drmQBzAAAAAElFTkSuQmCC
+        pLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUD
+        cMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmk
+        tngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNw
+        zKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2
+        eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DM
+        pLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4
+        ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyk
+        tpikecmktngRLSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngR
+        LSa1ZQNwzKS2mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa1ZQNwzKS2
+        mKR5yaS2eBEtJrVlA3DMpLaYpHnJpLZ4ES0mtWUDcMyktpikecmktngRLSa15cM3fuHH0n77lz6T9rWf
+        /VTaVz73ibRf++xHaV//uU+nffVnfngObQCOmdQWk9piUltMaotJmpc2AMdMaotJbTGpLSa1xSTNSxuA
+        Yya1xaS2mNQWk9pikualDcAxk9piUltMaotJbTFJ89IG4JhJbTGpLSa1xaS2mKR5aQNwzKS2mNQWk9pi
+        UltM0ry0AThmUltMaotJbTGpLSZpXtoAHDOpLSa1xaS2mNQWkzQvbQCOmdQWk9piUltMaotJmpc2AMdM
+        aotJbTGpLSa1xSTNSxuAYya1xaS2mNQWk9pikualDcAxk9piUltMaotJbTFJ89IG4JhJbTGpLSa1xaS2
+        mKR5aQNwzKS2mNQWk9piUltM0ry0AThmUltMaotJbTGpLSZpXtoAHDOpLSa1xaS2mNQWkzQvbQCOmdQW
+        k9piUltMaotJmpc2AMdMaotJbTGpLSa1xSTNSxuAYya1xaS2mNQWk9pikualDcAxk9piUltMaotJbTFJ
+        89IG4JhJbTGpLSa1xaS2mKR5aQNwzKS2mNQWk9piUltM0ry0AThmUltMaotJbTGpLSZpXtoAHDOpLSa1
+        xaS2mNQWkzQvbQCOmdQWk9piUltMaotJmpc2AMdMaotJbTGpLSa1xSTNSxuAYya1xaS2mNQWk9pikual
+        DcAxk9piUltMaotJbTFJ89IG4JhJbTGpLSa1xaS2mKR5aQNwzKS2mNQWk9piUltM0ry0AThmUltMaotJ
+        bTGpLSZpXtoAHDOpLSa1xaS2mNQWkzQvbQCOmdQWk9piUltMaotJmpc2AMdMaotJbTGpLSa1xSTNSxuA
+        Yya1xaS2mNQWk9pikualDcAxk9piUltMaotJbTFJ89IG4JhJbTGpLSa1xaS2mKR5aQNwzKS2mNQWk9pi
+        UltM0ry0AThmUltMaotJbTGpLSZpXtoAHDOpLSa1xaS2mNQWkzQvbQCOmdQWk9piUltMaotJmpc2AMdM
+        aotJbTGpLSa1xSTNSxuAYya1xaS2mNQWk9pikualDcAxk9piUltMaotJbTFJ89IG4JhJbTGpLSa1xaS2
+        mKR5aQNwzKS2mNQWk9piUltM0ry0AThmUltMaotJbTGpLSZpXtoAHDOpLSa1xaS2mNQWkzQvbQCOmdQW
+        k9piUltMaotJmpc2AMdMaotJbTGpLSa1xSTNSxuAYya1xaS2mNQWk9pikualDcAxk9piUltMaotJbTFJ
+        89IG4JhJbTGpLSa1xaS2mKR5aQNwzKS2mNQWk9piUltM0ry0AThmUltMaotJbTGpLSZpXtoAHDOpLSa1
+        xaS2mNQWkzQvbQCOmdQWk9piUltMaotJmpc2AMdMaotJbTGpLSa1xSTNSxuAYya1xaS2mNQWk9pikual
+        DcAxk9piUltMaotJbTFJ89IG4JhJbTGpLSa1xaS2mKR5aQNwzKS2mNQWk9piUltM0ry0AThmUltMaotJ
+        bTGpLSZpXvp/N+2H12uZAHMAAAAASUVORK5CYII=
 </value>
   </data>
 </root>
\ No newline at end of file
diff --git a/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TestTool/TestToolEdit.Designer.cs b/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TestTool/TestToolEdit.Designer.cs
index be3bb91..a484d41 100644
--- a/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TestTool/TestToolEdit.Designer.cs
+++ b/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TestTool/TestToolEdit.Designer.cs
@@ -437,8 +437,8 @@
             // 
             // TestToolEdit
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(MainTableLayoutPanel);
             Controls.Add(BtmStatusStrip);
             Controls.Add(TopToolStrip);
diff --git a/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TestTool/TestToolEdit.resx b/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TestTool/TestToolEdit.resx
index 1526ea6..0960d33 100644
--- a/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TestTool/TestToolEdit.resx
+++ b/LB_VisionProcesses/Alogrithms/BaseAlgorithm/TestTool/TestToolEdit.resx
@@ -1,7 +1,7 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
   <!--
-    Microsoft ResX Schema 
+    Microsoft ResX Schema
 
     Version 2.0
 
@@ -48,7 +48,7 @@
     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
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HBlobTool/HBlobToolEdit.Designer.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HBlobTool/HBlobToolEdit.Designer.cs
index 80b4288..56533b2 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HBlobTool/HBlobToolEdit.Designer.cs
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HBlobTool/HBlobToolEdit.Designer.cs
@@ -1274,8 +1274,8 @@
             // 
             // HBlobToolEdit
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(splitContainer1);
             Controls.Add(BtmStatusStrip);
             Controls.Add(TopToolStrip);
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindCode2dTool/HFindCode2dToolEdit.Designer.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindCode2dTool/HFindCode2dToolEdit.Designer.cs
index b39a675..0cc9db9 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindCode2dTool/HFindCode2dToolEdit.Designer.cs
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindCode2dTool/HFindCode2dToolEdit.Designer.cs
@@ -584,8 +584,8 @@
             // 
             // HFindCode2dToolEdit
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(MainTableLayoutPanel);
             Controls.Add(BtmStatusStrip);
             Controls.Add(TopToolStrip);
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindCode2dTool/HFindCode2dToolEdit.resx b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindCode2dTool/HFindCode2dToolEdit.resx
index 7600563..0960d33 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindCode2dTool/HFindCode2dToolEdit.resx
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindCode2dTool/HFindCode2dToolEdit.resx
@@ -1,7 +1,7 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
   <!--
-    Microsoft ResX Schema 
+    Microsoft ResX Schema
 
     Version 2.0
 
@@ -48,7 +48,7 @@
     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
@@ -117,10 +117,13 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <metadata name="TopToolStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+  <metadata name="lblMsgToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>17, 17</value>
   </metadata>
+  <metadata name="TopToolStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>156, 17</value>
+  </metadata>
   <metadata name="BtmStatusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>148, 17</value>
+    <value>287, 17</value>
   </metadata>
 </root>
\ No newline at end of file
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindLineTool/HFindLineToolEdit.Designer.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindLineTool/HFindLineToolEdit.Designer.cs
index 7190e9e..b053403 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindLineTool/HFindLineToolEdit.Designer.cs
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindLineTool/HFindLineToolEdit.Designer.cs
@@ -47,6 +47,7 @@
             label13 = new Label();
             cmbTransition = new ComboBox();
             cmbSelect = new ComboBox();
+            btnShowROI = new Button();
             pnlInputImage = new Panel();
             TopToolStrip = new ToolStrip();
             btnRun = new ToolStripButton();
@@ -85,7 +86,6 @@
             tabPageInputImage = new TabPage();
             tabPageRecordImage = new TabPage();
             pnlRecordImage = new Panel();
-            btnShowROI = new Button();
             tablePanelParas.SuspendLayout();
             TopToolStrip.SuspendLayout();
             BtmStatusStrip.SuspendLayout();
@@ -321,6 +321,17 @@
             cmbSelect.Name = "cmbSelect";
             cmbSelect.Size = new Size(103, 25);
             cmbSelect.TabIndex = 14;
+            // 
+            // btnShowROI
+            // 
+            btnShowROI.Dock = DockStyle.Fill;
+            btnShowROI.Location = new Point(3, 207);
+            btnShowROI.Name = "btnShowROI";
+            btnShowROI.Size = new Size(84, 45);
+            btnShowROI.TabIndex = 15;
+            btnShowROI.Text = "鏄剧ず鎵剧嚎鍖哄煙";
+            btnShowROI.UseVisualStyleBackColor = true;
+            btnShowROI.Click += btnShowROI_Click;
             // 
             // pnlInputImage
             // 
@@ -754,21 +765,10 @@
             pnlRecordImage.Size = new Size(607, 510);
             pnlRecordImage.TabIndex = 45;
             // 
-            // btnShowROI
-            // 
-            btnShowROI.Dock = DockStyle.Fill;
-            btnShowROI.Location = new Point(3, 207);
-            btnShowROI.Name = "btnShowROI";
-            btnShowROI.Size = new Size(84, 45);
-            btnShowROI.TabIndex = 15;
-            btnShowROI.Text = "鏄剧ず鎵剧嚎鍖哄煙";
-            btnShowROI.UseVisualStyleBackColor = true;
-            btnShowROI.Click += btnShowROI_Click;
-            // 
             // HFindLineToolEdit
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(MainTableLayoutPanel);
             Controls.Add(BtmStatusStrip);
             Controls.Add(TopToolStrip);
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindLineTool/HFindLineToolEdit.resx b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindLineTool/HFindLineToolEdit.resx
index 551e0b0..0960d33 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindLineTool/HFindLineToolEdit.resx
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindLineTool/HFindLineToolEdit.resx
@@ -1,7 +1,7 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
   <!--
-    Microsoft ResX Schema 
+    Microsoft ResX Schema
 
     Version 2.0
 
@@ -48,7 +48,7 @@
     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
@@ -117,10 +117,13 @@
   <resheader name="writer">
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
-  <metadata name="TopToolStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+  <metadata name="lblMsgToolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>17, 17</value>
   </metadata>
+  <metadata name="TopToolStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>156, 17</value>
+  </metadata>
   <metadata name="BtmStatusStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>129, 17</value>
+    <value>287, 17</value>
   </metadata>
 </root>
\ No newline at end of file
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindModelTool/HFindModelToolEdit.Designer.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindModelTool/HFindModelToolEdit.Designer.cs
index 317d5e8..887e0e9 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindModelTool/HFindModelToolEdit.Designer.cs
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindModelTool/HFindModelToolEdit.Designer.cs
@@ -1685,8 +1685,8 @@
             // 
             // HFindModelToolEdit
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(MainTableLayoutPanel);
             Controls.Add(BtmStatusStrip);
             Controls.Add(TopToolStrip);
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindModelTool/HFindModelToolEdit.resx b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindModelTool/HFindModelToolEdit.resx
index 1526ea6..0960d33 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindModelTool/HFindModelToolEdit.resx
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindModelTool/HFindModelToolEdit.resx
@@ -1,7 +1,7 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
   <!--
-    Microsoft ResX Schema 
+    Microsoft ResX Schema
 
     Version 2.0
 
@@ -48,7 +48,7 @@
     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
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindMultiModelTool/HFindMultiModelToolEdit.Designer.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindMultiModelTool/HFindMultiModelToolEdit.Designer.cs
index 4eb6686..bd86779 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindMultiModelTool/HFindMultiModelToolEdit.Designer.cs
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindMultiModelTool/HFindMultiModelToolEdit.Designer.cs
@@ -197,7 +197,7 @@
             tabPage1.Controls.Add(splitContainer1);
             tabPage1.Location = new Point(4, 26);
             tabPage1.Name = "tabPage1";
-            tabPage1.Padding = new Padding(3, 3, 3, 3);
+            tabPage1.Padding = new Padding(3);
             tabPage1.Size = new Size(403, 516);
             tabPage1.TabIndex = 0;
             tabPage1.Text = "杈撳叆鍙傛暟";
@@ -422,8 +422,8 @@
             tabPage2.Controls.Add(tableLayoutResults);
             tabPage2.Location = new Point(4, 26);
             tabPage2.Name = "tabPage2";
-            tabPage2.Padding = new Padding(3, 3, 3, 3);
-            tabPage2.Size = new Size(404, 519);
+            tabPage2.Padding = new Padding(3);
+            tabPage2.Size = new Size(403, 516);
             tabPage2.TabIndex = 1;
             tabPage2.Text = "杈撳嚭缁撴灉";
             tabPage2.UseVisualStyleBackColor = true;
@@ -458,7 +458,7 @@
             tableLayoutResults.RowStyles.Add(new RowStyle(SizeType.Percent, 10F));
             tableLayoutResults.RowStyles.Add(new RowStyle(SizeType.Percent, 10F));
             tableLayoutResults.RowStyles.Add(new RowStyle(SizeType.Percent, 10F));
-            tableLayoutResults.Size = new Size(398, 513);
+            tableLayoutResults.Size = new Size(397, 510);
             tableLayoutResults.TabIndex = 1;
             // 
             // label5
@@ -510,7 +510,7 @@
             dtxtCenterX.Margin = new Padding(2, 3, 2, 3);
             dtxtCenterX.Name = "dtxtCenterX";
             dtxtCenterX.ReadOnly = true;
-            dtxtCenterX.Size = new Size(294, 23);
+            dtxtCenterX.Size = new Size(293, 23);
             dtxtCenterX.TabIndex = 5;
             // 
             // dtxtCenterY
@@ -520,7 +520,7 @@
             dtxtCenterY.Margin = new Padding(2, 3, 2, 3);
             dtxtCenterY.Name = "dtxtCenterY";
             dtxtCenterY.ReadOnly = true;
-            dtxtCenterY.Size = new Size(294, 23);
+            dtxtCenterY.Size = new Size(293, 23);
             dtxtCenterY.TabIndex = 6;
             // 
             // dtxtAngle
@@ -530,7 +530,7 @@
             dtxtAngle.Margin = new Padding(2, 3, 2, 3);
             dtxtAngle.Name = "dtxtAngle";
             dtxtAngle.ReadOnly = true;
-            dtxtAngle.Size = new Size(294, 23);
+            dtxtAngle.Size = new Size(293, 23);
             dtxtAngle.TabIndex = 7;
             // 
             // label8
@@ -550,7 +550,7 @@
             dtxtScore.Location = new Point(103, 156);
             dtxtScore.Name = "dtxtScore";
             dtxtScore.ReadOnly = true;
-            dtxtScore.Size = new Size(292, 23);
+            dtxtScore.Size = new Size(291, 23);
             dtxtScore.TabIndex = 9;
             // 
             // dtxtCount
@@ -588,7 +588,7 @@
             tabPageInputImage.Controls.Add(pnlInputImage);
             tabPageInputImage.Location = new Point(4, 26);
             tabPageInputImage.Name = "tabPageInputImage";
-            tabPageInputImage.Padding = new Padding(3, 3, 3, 3);
+            tabPageInputImage.Padding = new Padding(3);
             tabPageInputImage.Size = new Size(613, 516);
             tabPageInputImage.TabIndex = 0;
             tabPageInputImage.Text = "杈撳叆鍥惧儚";
@@ -598,7 +598,7 @@
             // 
             pnlInputImage.Dock = DockStyle.Fill;
             pnlInputImage.Location = new Point(3, 3);
-            pnlInputImage.Margin = new Padding(4, 4, 4, 4);
+            pnlInputImage.Margin = new Padding(4);
             pnlInputImage.Name = "pnlInputImage";
             pnlInputImage.Size = new Size(607, 510);
             pnlInputImage.TabIndex = 44;
@@ -608,8 +608,8 @@
             tabPageRecordImage.Controls.Add(pnlRecordImage);
             tabPageRecordImage.Location = new Point(4, 26);
             tabPageRecordImage.Name = "tabPageRecordImage";
-            tabPageRecordImage.Padding = new Padding(3, 3, 3, 3);
-            tabPageRecordImage.Size = new Size(613, 519);
+            tabPageRecordImage.Padding = new Padding(3);
+            tabPageRecordImage.Size = new Size(613, 516);
             tabPageRecordImage.TabIndex = 1;
             tabPageRecordImage.Text = "缁撴灉鍥惧儚";
             tabPageRecordImage.UseVisualStyleBackColor = true;
@@ -618,15 +618,15 @@
             // 
             pnlRecordImage.Dock = DockStyle.Fill;
             pnlRecordImage.Location = new Point(3, 3);
-            pnlRecordImage.Margin = new Padding(4, 4, 4, 4);
+            pnlRecordImage.Margin = new Padding(4);
             pnlRecordImage.Name = "pnlRecordImage";
-            pnlRecordImage.Size = new Size(607, 513);
+            pnlRecordImage.Size = new Size(607, 510);
             pnlRecordImage.TabIndex = 45;
             // 
             // HFindMultiModelToolEdit
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(MainTableLayoutPanel);
             Controls.Add(BtmStatusStrip);
             Controls.Add(TopToolStrip);
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindMultiModelTool/HFindMultiModelToolEdit.resx b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindMultiModelTool/HFindMultiModelToolEdit.resx
index ebc4d95..1e6b716 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindMultiModelTool/HFindMultiModelToolEdit.resx
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindMultiModelTool/HFindMultiModelToolEdit.resx
@@ -1,7 +1,7 @@
 锘�<?xml version="1.0" encoding="utf-8"?>
 <root>
   <!--
-    Microsoft ResX Schema 
+    Microsoft ResX Schema
 
     Version 2.0
 
@@ -48,7 +48,7 @@
     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
diff --git a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindMultiModelTool/HMulitModelControl.Designer.cs b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindMultiModelTool/HMulitModelControl.Designer.cs
index edf8273..ed55867 100644
--- a/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindMultiModelTool/HMulitModelControl.Designer.cs
+++ b/LB_VisionProcesses/Alogrithms/Halcon/2D/HFindMultiModelTool/HMulitModelControl.Designer.cs
@@ -167,8 +167,8 @@
             // 
             // HMulitModelControl
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(tableLayoutPanel1);
             Name = "HMulitModelControl";
             Size = new Size(399, 157);
diff --git a/LB_VisionProcesses/Cameras/2DCameraForm.Designer.cs b/LB_VisionProcesses/Cameras/2DCameraForm.Designer.cs
index 4d9aef1..3c69a2a 100644
--- a/LB_VisionProcesses/Cameras/2DCameraForm.Designer.cs
+++ b/LB_VisionProcesses/Cameras/2DCameraForm.Designer.cs
@@ -104,20 +104,18 @@
             // 
             cmbBrand.Dock = DockStyle.Fill;
             cmbBrand.FormattingEnabled = true;
-            cmbBrand.Location = new Point(68, 4);
-            cmbBrand.Margin = new Padding(4);
+            cmbBrand.Location = new Point(53, 3);
             cmbBrand.Name = "cmbBrand";
-            cmbBrand.Size = new Size(381, 28);
+            cmbBrand.Size = new Size(296, 25);
             cmbBrand.TabIndex = 0;
             // 
             // cmbSN
             // 
             cmbSN.Dock = DockStyle.Fill;
             cmbSN.FormattingEnabled = true;
-            cmbSN.Location = new Point(68, 4);
-            cmbSN.Margin = new Padding(4);
+            cmbSN.Location = new Point(53, 3);
             cmbSN.Name = "cmbSN";
-            cmbSN.Size = new Size(381, 28);
+            cmbSN.Size = new Size(296, 25);
             cmbSN.TabIndex = 1;
             cmbSN.SelectedIndexChanged += cmbSN_SelectedIndexChanged;
             cmbSN.MouseDown += cmbSN_MouseDown;
@@ -126,10 +124,9 @@
             // 
             label1.AutoSize = true;
             label1.Dock = DockStyle.Fill;
-            label1.Location = new Point(4, 0);
-            label1.Margin = new Padding(4, 0, 4, 0);
+            label1.Location = new Point(3, 0);
             label1.Name = "label1";
-            label1.Size = new Size(56, 39);
+            label1.Size = new Size(44, 34);
             label1.TabIndex = 2;
             label1.Text = "鍝佺墝";
             label1.TextAlign = ContentAlignment.MiddleCenter;
@@ -138,10 +135,9 @@
             // 
             label2.AutoSize = true;
             label2.Dock = DockStyle.Fill;
-            label2.Location = new Point(4, 0);
-            label2.Margin = new Padding(4, 0, 4, 0);
+            label2.Location = new Point(3, 0);
             label2.Name = "label2";
-            label2.Size = new Size(56, 39);
+            label2.Size = new Size(44, 34);
             label2.TabIndex = 3;
             label2.Text = "SN";
             label2.TextAlign = ContentAlignment.MiddleCenter;
@@ -150,10 +146,9 @@
             // 
             btnStartGrab.Dock = DockStyle.Fill;
             btnStartGrab.ForeColor = SystemColors.ControlText;
-            btnStartGrab.Location = new Point(117, 4);
-            btnStartGrab.Margin = new Padding(4);
+            btnStartGrab.Location = new Point(91, 3);
             btnStartGrab.Name = "btnStartGrab";
-            btnStartGrab.Size = new Size(105, 31);
+            btnStartGrab.Size = new Size(82, 28);
             btnStartGrab.TabIndex = 5;
             btnStartGrab.Text = "杩炵画閲囬泦";
             btnStartGrab.UseVisualStyleBackColor = true;
@@ -163,10 +158,9 @@
             // 
             btnCloseGrab.Dock = DockStyle.Fill;
             btnCloseGrab.ForeColor = SystemColors.Desktop;
-            btnCloseGrab.Location = new Point(230, 4);
-            btnCloseGrab.Margin = new Padding(4);
+            btnCloseGrab.Location = new Point(179, 3);
             btnCloseGrab.Name = "btnCloseGrab";
-            btnCloseGrab.Size = new Size(105, 31);
+            btnCloseGrab.Size = new Size(82, 28);
             btnCloseGrab.TabIndex = 6;
             btnCloseGrab.Text = "鍏抽棴閲囬泦";
             btnCloseGrab.UseVisualStyleBackColor = true;
@@ -176,10 +170,9 @@
             // 
             btnGrabOnce.Dock = DockStyle.Fill;
             btnGrabOnce.ForeColor = SystemColors.ControlText;
-            btnGrabOnce.Location = new Point(4, 4);
-            btnGrabOnce.Margin = new Padding(4);
+            btnGrabOnce.Location = new Point(3, 3);
             btnGrabOnce.Name = "btnGrabOnce";
-            btnGrabOnce.Size = new Size(105, 31);
+            btnGrabOnce.Size = new Size(82, 28);
             btnGrabOnce.TabIndex = 7;
             btnGrabOnce.Text = "鍗曞紶閲囬泦";
             btnGrabOnce.UseVisualStyleBackColor = true;
@@ -189,10 +182,9 @@
             // 
             btnOpen.Dock = DockStyle.Fill;
             btnOpen.ForeColor = SystemColors.ControlText;
-            btnOpen.Location = new Point(4, 4);
-            btnOpen.Margin = new Padding(4);
+            btnOpen.Location = new Point(3, 3);
             btnOpen.Name = "btnOpen";
-            btnOpen.Size = new Size(105, 31);
+            btnOpen.Size = new Size(82, 28);
             btnOpen.TabIndex = 8;
             btnOpen.Text = "鎵撳紑";
             btnOpen.UseVisualStyleBackColor = true;
@@ -202,10 +194,9 @@
             // 
             btnClose.Dock = DockStyle.Fill;
             btnClose.ForeColor = SystemColors.ControlText;
-            btnClose.Location = new Point(117, 4);
-            btnClose.Margin = new Padding(4);
+            btnClose.Location = new Point(91, 3);
             btnClose.Name = "btnClose";
-            btnClose.Size = new Size(105, 31);
+            btnClose.Size = new Size(82, 28);
             btnClose.TabIndex = 9;
             btnClose.Text = "鍏抽棴";
             btnClose.UseVisualStyleBackColor = true;
@@ -215,10 +206,9 @@
             // 
             label5.AutoSize = true;
             label5.Dock = DockStyle.Fill;
-            label5.Location = new Point(4, 0);
-            label5.Margin = new Padding(4, 0, 4, 0);
+            label5.Location = new Point(3, 0);
             label5.Name = "label5";
-            label5.Size = new Size(146, 39);
+            label5.Size = new Size(114, 34);
             label5.TabIndex = 15;
             label5.Text = "鍙栧浘鏁伴噺锛�";
             label5.TextAlign = ContentAlignment.MiddleCenter;
@@ -227,10 +217,9 @@
             // 
             lblPicCount.AutoSize = true;
             lblPicCount.Dock = DockStyle.Fill;
-            lblPicCount.Location = new Point(158, 0);
-            lblPicCount.Margin = new Padding(4, 0, 4, 0);
+            lblPicCount.Location = new Point(123, 0);
             lblPicCount.Name = "lblPicCount";
-            lblPicCount.Size = new Size(291, 39);
+            lblPicCount.Size = new Size(226, 34);
             lblPicCount.TabIndex = 16;
             lblPicCount.Text = "0";
             lblPicCount.TextAlign = ContentAlignment.MiddleLeft;
@@ -238,20 +227,18 @@
             // txtGain
             // 
             txtGain.Dock = DockStyle.Fill;
-            txtGain.Location = new Point(68, 4);
-            txtGain.Margin = new Padding(4);
+            txtGain.Location = new Point(53, 3);
             txtGain.Name = "txtGain";
-            txtGain.Size = new Size(381, 27);
+            txtGain.Size = new Size(296, 23);
             txtGain.TabIndex = 21;
             txtGain.TextChanged += txtGain_TextChanged;
             // 
             // txtExp
             // 
             txtExp.Dock = DockStyle.Fill;
-            txtExp.Location = new Point(68, 4);
-            txtExp.Margin = new Padding(4);
+            txtExp.Location = new Point(53, 3);
             txtExp.Name = "txtExp";
-            txtExp.Size = new Size(381, 27);
+            txtExp.Size = new Size(296, 23);
             txtExp.TabIndex = 20;
             txtExp.TextChanged += txtExp_TextChanged;
             // 
@@ -259,10 +246,9 @@
             // 
             label4.AutoSize = true;
             label4.Dock = DockStyle.Fill;
-            label4.Location = new Point(4, 0);
-            label4.Margin = new Padding(4, 0, 4, 0);
+            label4.Location = new Point(3, 0);
             label4.Name = "label4";
-            label4.Size = new Size(56, 39);
+            label4.Size = new Size(44, 34);
             label4.TabIndex = 19;
             label4.Text = "澧炵泭";
             label4.TextAlign = ContentAlignment.MiddleCenter;
@@ -271,10 +257,9 @@
             // 
             label3.AutoSize = true;
             label3.Dock = DockStyle.Fill;
-            label3.Location = new Point(4, 0);
-            label3.Margin = new Padding(4, 0, 4, 0);
+            label3.Location = new Point(3, 0);
             label3.Name = "label3";
-            label3.Size = new Size(56, 39);
+            label3.Size = new Size(44, 34);
             label3.TabIndex = 18;
             label3.Text = "鏇濆厜";
             label3.TextAlign = ContentAlignment.MiddleCenter;
@@ -286,10 +271,8 @@
             groupBox1.Dock = DockStyle.Fill;
             groupBox1.ForeColor = SystemColors.Control;
             groupBox1.Location = new Point(0, 0);
-            groupBox1.Margin = new Padding(4);
             groupBox1.Name = "groupBox1";
-            groupBox1.Padding = new Padding(4);
-            groupBox1.Size = new Size(626, 695);
+            groupBox1.Size = new Size(487, 591);
             groupBox1.TabIndex = 17;
             groupBox1.TabStop = false;
             groupBox1.Text = "瀹炴椂閲囬泦";
@@ -297,20 +280,18 @@
             // panel_Picture
             // 
             panel_Picture.Dock = DockStyle.Fill;
-            panel_Picture.Location = new Point(4, 24);
-            panel_Picture.Margin = new Padding(4);
+            panel_Picture.Location = new Point(3, 19);
             panel_Picture.Name = "panel_Picture";
-            panel_Picture.Size = new Size(618, 667);
+            panel_Picture.Size = new Size(481, 569);
             panel_Picture.TabIndex = 0;
             // 
             // radioButtonSoft
             // 
             radioButtonSoft.AutoSize = true;
             radioButtonSoft.Dock = DockStyle.Fill;
-            radioButtonSoft.Location = new Point(4, 145);
-            radioButtonSoft.Margin = new Padding(4);
+            radioButtonSoft.Location = new Point(3, 123);
             radioButtonSoft.Name = "radioButtonSoft";
-            radioButtonSoft.Size = new Size(453, 39);
+            radioButtonSoft.Size = new Size(352, 34);
             radioButtonSoft.TabIndex = 23;
             radioButtonSoft.TabStop = true;
             radioButtonSoft.Text = "杞Е鍙�";
@@ -321,10 +302,9 @@
             // 
             radioButtonHard.AutoSize = true;
             radioButtonHard.Dock = DockStyle.Fill;
-            radioButtonHard.Location = new Point(4, 239);
-            radioButtonHard.Margin = new Padding(4);
+            radioButtonHard.Location = new Point(3, 203);
             radioButtonHard.Name = "radioButtonHard";
-            radioButtonHard.Size = new Size(453, 39);
+            radioButtonHard.Size = new Size(352, 34);
             radioButtonHard.TabIndex = 24;
             radioButtonHard.TabStop = true;
             radioButtonHard.Text = "纭Е鍙�";
@@ -333,8 +313,7 @@
             // splitContainer1
             // 
             splitContainer1.Dock = DockStyle.Fill;
-            splitContainer1.Location = new Point(6, 6);
-            splitContainer1.Margin = new Padding(4);
+            splitContainer1.Location = new Point(5, 5);
             splitContainer1.Name = "splitContainer1";
             // 
             // splitContainer1.Panel1
@@ -344,9 +323,8 @@
             // splitContainer1.Panel2
             // 
             splitContainer1.Panel2.Controls.Add(groupBox1);
-            splitContainer1.Size = new Size(1100, 695);
-            splitContainer1.SplitterDistance = 469;
-            splitContainer1.SplitterWidth = 5;
+            splitContainer1.Size = new Size(855, 591);
+            splitContainer1.SplitterDistance = 364;
             splitContainer1.TabIndex = 19;
             // 
             // groupBox2
@@ -356,11 +334,9 @@
             groupBox2.Dock = DockStyle.Fill;
             groupBox2.ForeColor = SystemColors.Control;
             groupBox2.Location = new Point(0, 0);
-            groupBox2.Margin = new Padding(4);
-            groupBox2.MinimumSize = new Size(336, 72);
+            groupBox2.MinimumSize = new Size(261, 61);
             groupBox2.Name = "groupBox2";
-            groupBox2.Padding = new Padding(4);
-            groupBox2.Size = new Size(469, 695);
+            groupBox2.Size = new Size(364, 591);
             groupBox2.TabIndex = 0;
             groupBox2.TabStop = false;
             groupBox2.Text = "鐩告満鍙傛暟";
@@ -384,8 +360,7 @@
             tableLayoutPanel2.Controls.Add(tableLayoutPanel9, 0, 10);
             tableLayoutPanel2.Controls.Add(tableLayoutPanel10, 0, 9);
             tableLayoutPanel2.Dock = DockStyle.Fill;
-            tableLayoutPanel2.Location = new Point(4, 24);
-            tableLayoutPanel2.Margin = new Padding(4);
+            tableLayoutPanel2.Location = new Point(3, 19);
             tableLayoutPanel2.Name = "tableLayoutPanel2";
             tableLayoutPanel2.RowCount = 14;
             tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Percent, 7.14301062F));
@@ -402,40 +377,38 @@
             tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Percent, 7.14301062F));
             tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Percent, 7.143011F));
             tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Percent, 7.14086771F));
-            tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Absolute, 24F));
-            tableLayoutPanel2.Size = new Size(461, 667);
+            tableLayoutPanel2.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F));
+            tableLayoutPanel2.Size = new Size(358, 569);
             tableLayoutPanel2.TabIndex = 25;
             // 
             // tableLayoutPanel3
             // 
             tableLayoutPanel3.ColumnCount = 2;
-            tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 64F));
+            tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 50F));
             tableLayoutPanel3.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
             tableLayoutPanel3.Controls.Add(label1, 0, 0);
             tableLayoutPanel3.Controls.Add(cmbBrand, 1, 0);
             tableLayoutPanel3.Dock = DockStyle.Fill;
-            tableLayoutPanel3.Location = new Point(4, 4);
-            tableLayoutPanel3.Margin = new Padding(4);
+            tableLayoutPanel3.Location = new Point(3, 3);
             tableLayoutPanel3.Name = "tableLayoutPanel3";
             tableLayoutPanel3.RowCount = 1;
             tableLayoutPanel3.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
-            tableLayoutPanel3.Size = new Size(453, 39);
+            tableLayoutPanel3.Size = new Size(352, 34);
             tableLayoutPanel3.TabIndex = 0;
             // 
             // tableLayoutPanel4
             // 
             tableLayoutPanel4.ColumnCount = 2;
-            tableLayoutPanel4.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 64F));
+            tableLayoutPanel4.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 50F));
             tableLayoutPanel4.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
             tableLayoutPanel4.Controls.Add(label2, 0, 0);
             tableLayoutPanel4.Controls.Add(cmbSN, 1, 0);
             tableLayoutPanel4.Dock = DockStyle.Fill;
-            tableLayoutPanel4.Location = new Point(4, 51);
-            tableLayoutPanel4.Margin = new Padding(4);
+            tableLayoutPanel4.Location = new Point(3, 43);
             tableLayoutPanel4.Name = "tableLayoutPanel4";
             tableLayoutPanel4.RowCount = 1;
             tableLayoutPanel4.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
-            tableLayoutPanel4.Size = new Size(453, 39);
+            tableLayoutPanel4.Size = new Size(352, 34);
             tableLayoutPanel4.TabIndex = 1;
             // 
             // tableLayoutPanel5
@@ -449,12 +422,11 @@
             tableLayoutPanel5.Controls.Add(btnClose, 1, 0);
             tableLayoutPanel5.Controls.Add(btnEdit, 3, 0);
             tableLayoutPanel5.Dock = DockStyle.Fill;
-            tableLayoutPanel5.Location = new Point(4, 98);
-            tableLayoutPanel5.Margin = new Padding(4);
+            tableLayoutPanel5.Location = new Point(3, 83);
             tableLayoutPanel5.Name = "tableLayoutPanel5";
             tableLayoutPanel5.RowCount = 1;
             tableLayoutPanel5.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
-            tableLayoutPanel5.Size = new Size(453, 39);
+            tableLayoutPanel5.Size = new Size(352, 34);
             tableLayoutPanel5.TabIndex = 2;
             // 
             // btnEdit
@@ -462,10 +434,9 @@
             btnEdit.Dock = DockStyle.Fill;
             btnEdit.Enabled = false;
             btnEdit.ForeColor = SystemColors.ControlText;
-            btnEdit.Location = new Point(343, 4);
-            btnEdit.Margin = new Padding(4);
+            btnEdit.Location = new Point(267, 3);
             btnEdit.Name = "btnEdit";
-            btnEdit.Size = new Size(106, 31);
+            btnEdit.Size = new Size(82, 28);
             btnEdit.TabIndex = 10;
             btnEdit.Text = "缂栬緫";
             btnEdit.UseVisualStyleBackColor = true;
@@ -483,22 +454,21 @@
             tableLayoutPanel6.Controls.Add(btnCloseGrab, 2, 0);
             tableLayoutPanel6.Controls.Add(btnSaveImage, 3, 0);
             tableLayoutPanel6.Dock = DockStyle.Fill;
-            tableLayoutPanel6.Location = new Point(4, 192);
-            tableLayoutPanel6.Margin = new Padding(4);
+            tableLayoutPanel6.Location = new Point(3, 163);
             tableLayoutPanel6.Name = "tableLayoutPanel6";
             tableLayoutPanel6.RowCount = 1;
             tableLayoutPanel6.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
-            tableLayoutPanel6.Size = new Size(453, 39);
+            tableLayoutPanel6.Size = new Size(352, 34);
             tableLayoutPanel6.TabIndex = 24;
             // 
             // btnSaveImage
             // 
             btnSaveImage.Dock = DockStyle.Fill;
             btnSaveImage.ForeColor = SystemColors.Desktop;
-            btnSaveImage.Location = new Point(342, 2);
-            btnSaveImage.Margin = new Padding(3, 2, 3, 2);
+            btnSaveImage.Location = new Point(266, 2);
+            btnSaveImage.Margin = new Padding(2, 2, 2, 2);
             btnSaveImage.Name = "btnSaveImage";
-            btnSaveImage.Size = new Size(108, 35);
+            btnSaveImage.Size = new Size(84, 30);
             btnSaveImage.TabIndex = 8;
             btnSaveImage.Text = "淇濆瓨鍥剧墖";
             btnSaveImage.UseVisualStyleBackColor = true;
@@ -507,33 +477,31 @@
             // tableLayoutPanel7
             // 
             tableLayoutPanel7.ColumnCount = 2;
-            tableLayoutPanel7.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 64F));
+            tableLayoutPanel7.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 50F));
             tableLayoutPanel7.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
             tableLayoutPanel7.Controls.Add(label3, 0, 0);
             tableLayoutPanel7.Controls.Add(txtExp, 1, 0);
             tableLayoutPanel7.Dock = DockStyle.Fill;
-            tableLayoutPanel7.Location = new Point(4, 333);
-            tableLayoutPanel7.Margin = new Padding(4);
+            tableLayoutPanel7.Location = new Point(3, 283);
             tableLayoutPanel7.Name = "tableLayoutPanel7";
             tableLayoutPanel7.RowCount = 1;
             tableLayoutPanel7.RowStyles.Add(new RowStyle(SizeType.Percent, 50F));
-            tableLayoutPanel7.Size = new Size(453, 39);
+            tableLayoutPanel7.Size = new Size(352, 34);
             tableLayoutPanel7.TabIndex = 25;
             // 
             // tableLayoutPanel8
             // 
             tableLayoutPanel8.ColumnCount = 2;
-            tableLayoutPanel8.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 64F));
+            tableLayoutPanel8.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 50F));
             tableLayoutPanel8.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
             tableLayoutPanel8.Controls.Add(label4, 0, 0);
             tableLayoutPanel8.Controls.Add(txtGain, 1, 0);
             tableLayoutPanel8.Dock = DockStyle.Fill;
-            tableLayoutPanel8.Location = new Point(4, 380);
-            tableLayoutPanel8.Margin = new Padding(4);
+            tableLayoutPanel8.Location = new Point(3, 323);
             tableLayoutPanel8.Name = "tableLayoutPanel8";
             tableLayoutPanel8.RowCount = 1;
             tableLayoutPanel8.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
-            tableLayoutPanel8.Size = new Size(453, 39);
+            tableLayoutPanel8.Size = new Size(352, 34);
             tableLayoutPanel8.TabIndex = 26;
             // 
             // tableLayoutPanel1
@@ -546,21 +514,19 @@
             tableLayoutPanel1.Controls.Add(ckbUpParams, 1, 0);
             tableLayoutPanel1.Controls.Add(ckbRegrab, 2, 0);
             tableLayoutPanel1.Dock = DockStyle.Fill;
-            tableLayoutPanel1.Location = new Point(4, 286);
-            tableLayoutPanel1.Margin = new Padding(4);
+            tableLayoutPanel1.Location = new Point(3, 243);
             tableLayoutPanel1.Name = "tableLayoutPanel1";
             tableLayoutPanel1.RowCount = 1;
             tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
-            tableLayoutPanel1.Size = new Size(453, 39);
+            tableLayoutPanel1.Size = new Size(352, 34);
             tableLayoutPanel1.TabIndex = 29;
             // 
             // btnStartHard
             // 
             btnStartHard.Dock = DockStyle.Fill;
-            btnStartHard.Location = new Point(4, 4);
-            btnStartHard.Margin = new Padding(4);
+            btnStartHard.Location = new Point(3, 3);
             btnStartHard.Name = "btnStartHard";
-            btnStartHard.Size = new Size(82, 31);
+            btnStartHard.Size = new Size(64, 28);
             btnStartHard.TabIndex = 22;
             btnStartHard.Text = "绛夊緟瑙﹀彂";
             btnStartHard.UseVisualStyleBackColor = true;
@@ -570,10 +536,9 @@
             // 
             ckbUpParams.AutoSize = true;
             ckbUpParams.Dock = DockStyle.Fill;
-            ckbUpParams.Location = new Point(94, 4);
-            ckbUpParams.Margin = new Padding(4);
+            ckbUpParams.Location = new Point(73, 3);
             ckbUpParams.Name = "ckbUpParams";
-            ckbUpParams.Size = new Size(173, 31);
+            ckbUpParams.Size = new Size(134, 28);
             ckbUpParams.TabIndex = 23;
             ckbUpParams.Text = "鏄惁姣忔鍐欏叆鍙傛暟";
             ckbUpParams.UseVisualStyleBackColor = true;
@@ -582,10 +547,9 @@
             // 
             ckbRegrab.AutoSize = true;
             ckbRegrab.Dock = DockStyle.Fill;
-            ckbRegrab.Location = new Point(275, 4);
-            ckbRegrab.Margin = new Padding(4);
+            ckbRegrab.Location = new Point(213, 3);
             ckbRegrab.Name = "ckbRegrab";
-            ckbRegrab.Size = new Size(174, 31);
+            ckbRegrab.Size = new Size(136, 28);
             ckbRegrab.TabIndex = 24;
             ckbRegrab.Text = "鏄惁澶辫触閲嶆柊鍙栧浘";
             ckbRegrab.UseVisualStyleBackColor = true;
@@ -593,27 +557,25 @@
             // tableLayoutPanel12
             // 
             tableLayoutPanel12.ColumnCount = 2;
-            tableLayoutPanel12.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 154F));
+            tableLayoutPanel12.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 120F));
             tableLayoutPanel12.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
             tableLayoutPanel12.Controls.Add(lblCapTime, 1, 0);
             tableLayoutPanel12.Controls.Add(label7, 0, 0);
             tableLayoutPanel12.Dock = DockStyle.Fill;
-            tableLayoutPanel12.Location = new Point(4, 615);
-            tableLayoutPanel12.Margin = new Padding(4);
+            tableLayoutPanel12.Location = new Point(3, 523);
             tableLayoutPanel12.Name = "tableLayoutPanel12";
             tableLayoutPanel12.RowCount = 1;
             tableLayoutPanel12.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
-            tableLayoutPanel12.Size = new Size(453, 48);
+            tableLayoutPanel12.Size = new Size(352, 43);
             tableLayoutPanel12.TabIndex = 31;
             // 
             // lblCapTime
             // 
             lblCapTime.AutoSize = true;
             lblCapTime.Dock = DockStyle.Fill;
-            lblCapTime.Location = new Point(158, 0);
-            lblCapTime.Margin = new Padding(4, 0, 4, 0);
+            lblCapTime.Location = new Point(123, 0);
             lblCapTime.Name = "lblCapTime";
-            lblCapTime.Size = new Size(291, 48);
+            lblCapTime.Size = new Size(226, 43);
             lblCapTime.TabIndex = 16;
             lblCapTime.Text = "0ms";
             lblCapTime.TextAlign = ContentAlignment.MiddleLeft;
@@ -622,10 +584,9 @@
             // 
             label7.AutoSize = true;
             label7.Dock = DockStyle.Fill;
-            label7.Location = new Point(4, 0);
-            label7.Margin = new Padding(4, 0, 4, 0);
+            label7.Location = new Point(3, 0);
             label7.Name = "label7";
-            label7.Size = new Size(146, 48);
+            label7.Size = new Size(114, 43);
             label7.TabIndex = 15;
             label7.Text = "鍙栧浘鏃堕棿锛�";
             label7.TextAlign = ContentAlignment.MiddleCenter;
@@ -633,17 +594,16 @@
             // tableLayoutPanel11
             // 
             tableLayoutPanel11.ColumnCount = 2;
-            tableLayoutPanel11.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 154F));
+            tableLayoutPanel11.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 120F));
             tableLayoutPanel11.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
             tableLayoutPanel11.Controls.Add(label5, 0, 0);
             tableLayoutPanel11.Controls.Add(lblPicCount, 1, 0);
             tableLayoutPanel11.Dock = DockStyle.Fill;
-            tableLayoutPanel11.Location = new Point(4, 568);
-            tableLayoutPanel11.Margin = new Padding(4);
+            tableLayoutPanel11.Location = new Point(3, 483);
             tableLayoutPanel11.Name = "tableLayoutPanel11";
             tableLayoutPanel11.RowCount = 1;
             tableLayoutPanel11.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
-            tableLayoutPanel11.Size = new Size(453, 39);
+            tableLayoutPanel11.Size = new Size(352, 34);
             tableLayoutPanel11.TabIndex = 30;
             // 
             // cmbImagesPath
@@ -652,10 +612,9 @@
             cmbImagesPath.Dock = DockStyle.Fill;
             cmbImagesPath.ForeColor = SystemColors.ControlText;
             cmbImagesPath.FormattingEnabled = true;
-            cmbImagesPath.Location = new Point(4, 521);
-            cmbImagesPath.Margin = new Padding(4);
+            cmbImagesPath.Location = new Point(3, 443);
             cmbImagesPath.Name = "cmbImagesPath";
-            cmbImagesPath.Size = new Size(453, 28);
+            cmbImagesPath.Size = new Size(352, 25);
             cmbImagesPath.TabIndex = 0;
             cmbImagesPath.SelectedIndexChanged += cmbImagesPath_SelectedIndexChanged;
             cmbImagesPath.MouseHover += cmbImagesPath_MouseHover;
@@ -670,22 +629,20 @@
             tableLayoutPanel9.Controls.Add(btnAddImages, 1, 0);
             tableLayoutPanel9.Controls.Add(btnLocalGrab, 2, 0);
             tableLayoutPanel9.Dock = DockStyle.Fill;
-            tableLayoutPanel9.Location = new Point(4, 474);
-            tableLayoutPanel9.Margin = new Padding(4);
+            tableLayoutPanel9.Location = new Point(3, 403);
             tableLayoutPanel9.Name = "tableLayoutPanel9";
             tableLayoutPanel9.RowCount = 1;
             tableLayoutPanel9.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
-            tableLayoutPanel9.Size = new Size(453, 39);
+            tableLayoutPanel9.Size = new Size(352, 34);
             tableLayoutPanel9.TabIndex = 27;
             // 
             // ckbLocalTest
             // 
             ckbLocalTest.AutoSize = true;
             ckbLocalTest.Dock = DockStyle.Fill;
-            ckbLocalTest.Location = new Point(4, 4);
-            ckbLocalTest.Margin = new Padding(4);
+            ckbLocalTest.Location = new Point(3, 3);
             ckbLocalTest.Name = "ckbLocalTest";
-            ckbLocalTest.Size = new Size(142, 31);
+            ckbLocalTest.Size = new Size(111, 28);
             ckbLocalTest.TabIndex = 0;
             ckbLocalTest.Text = "鏈湴鍙栧浘";
             ckbLocalTest.UseVisualStyleBackColor = true;
@@ -694,10 +651,9 @@
             // 
             btnAddImages.Dock = DockStyle.Fill;
             btnAddImages.ForeColor = SystemColors.Desktop;
-            btnAddImages.Location = new Point(154, 4);
-            btnAddImages.Margin = new Padding(4);
+            btnAddImages.Location = new Point(120, 3);
             btnAddImages.Name = "btnAddImages";
-            btnAddImages.Size = new Size(142, 31);
+            btnAddImages.Size = new Size(111, 28);
             btnAddImages.TabIndex = 1;
             btnAddImages.Text = "娣诲姞鍥剧墖";
             btnAddImages.UseVisualStyleBackColor = true;
@@ -707,10 +663,9 @@
             // 
             btnLocalGrab.Dock = DockStyle.Fill;
             btnLocalGrab.ForeColor = SystemColors.Desktop;
-            btnLocalGrab.Location = new Point(304, 4);
-            btnLocalGrab.Margin = new Padding(4);
+            btnLocalGrab.Location = new Point(237, 3);
             btnLocalGrab.Name = "btnLocalGrab";
-            btnLocalGrab.Size = new Size(145, 31);
+            btnLocalGrab.Size = new Size(112, 28);
             btnLocalGrab.TabIndex = 2;
             btnLocalGrab.Text = "鏈湴鍙栧浘";
             btnLocalGrab.UseVisualStyleBackColor = true;
@@ -719,27 +674,25 @@
             // tableLayoutPanel10
             // 
             tableLayoutPanel10.ColumnCount = 2;
-            tableLayoutPanel10.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 64F));
+            tableLayoutPanel10.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 50F));
             tableLayoutPanel10.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100F));
             tableLayoutPanel10.Controls.Add(label6, 0, 0);
             tableLayoutPanel10.Controls.Add(txtTimeout, 1, 0);
             tableLayoutPanel10.Dock = DockStyle.Fill;
-            tableLayoutPanel10.Location = new Point(4, 427);
-            tableLayoutPanel10.Margin = new Padding(4);
+            tableLayoutPanel10.Location = new Point(3, 363);
             tableLayoutPanel10.Name = "tableLayoutPanel10";
             tableLayoutPanel10.RowCount = 1;
             tableLayoutPanel10.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
-            tableLayoutPanel10.Size = new Size(453, 39);
+            tableLayoutPanel10.Size = new Size(352, 34);
             tableLayoutPanel10.TabIndex = 32;
             // 
             // label6
             // 
             label6.AutoSize = true;
             label6.Dock = DockStyle.Fill;
-            label6.Location = new Point(4, 0);
-            label6.Margin = new Padding(4, 0, 4, 0);
+            label6.Location = new Point(3, 0);
             label6.Name = "label6";
-            label6.Size = new Size(56, 39);
+            label6.Size = new Size(44, 34);
             label6.TabIndex = 0;
             label6.Text = "瓒呮椂";
             label6.TextAlign = ContentAlignment.MiddleCenter;
@@ -747,10 +700,9 @@
             // txtTimeout
             // 
             txtTimeout.Dock = DockStyle.Fill;
-            txtTimeout.Location = new Point(68, 4);
-            txtTimeout.Margin = new Padding(4);
+            txtTimeout.Location = new Point(53, 3);
             txtTimeout.Name = "txtTimeout";
-            txtTimeout.Size = new Size(381, 27);
+            txtTimeout.Size = new Size(296, 23);
             txtTimeout.TabIndex = 1;
             // 
             // theme_2DCameraForm
@@ -763,12 +715,11 @@
             theme_2DCameraForm.Font = new Font("Microsoft YaHei UI", 9F, FontStyle.Regular, GraphicsUnit.Point, 134);
             theme_2DCameraForm.Image = (Image)resources.GetObject("theme_2DCameraForm.Image");
             theme_2DCameraForm.Location = new Point(0, 0);
-            theme_2DCameraForm.Margin = new Padding(4);
             theme_2DCameraForm.Name = "theme_2DCameraForm";
-            theme_2DCameraForm.Padding = new Padding(13, 82, 13, 11);
+            theme_2DCameraForm.Padding = new Padding(10, 70, 10, 9);
             theme_2DCameraForm.RoundCorners = true;
             theme_2DCameraForm.Sizable = true;
-            theme_2DCameraForm.Size = new Size(1138, 800);
+            theme_2DCameraForm.Size = new Size(885, 680);
             theme_2DCameraForm.SmartBounds = true;
             theme_2DCameraForm.StartPosition = FormStartPosition.WindowsDefaultLocation;
             theme_2DCameraForm.TabIndex = 20;
@@ -785,8 +736,7 @@
             controlBox1.EnableMaximizeButton = false;
             controlBox1.EnableMinimizeButton = false;
             controlBox1.ForeColor = Color.FromArgb(155, 155, 155);
-            controlBox1.Location = new Point(1009, 18);
-            controlBox1.Margin = new Padding(4);
+            controlBox1.Location = new Point(807, 15);
             controlBox1.MaximizeHoverColor = Color.FromArgb(74, 74, 74);
             controlBox1.MinimizeHoverColor = Color.FromArgb(63, 63, 65);
             controlBox1.Name = "controlBox1";
@@ -800,24 +750,22 @@
             panel_2DCameraForm.Controls.Add(splitContainer1);
             panel_2DCameraForm.Dock = DockStyle.Fill;
             panel_2DCameraForm.EdgeColor = Color.FromArgb(32, 41, 50);
-            panel_2DCameraForm.Location = new Point(13, 82);
-            panel_2DCameraForm.Margin = new Padding(4);
+            panel_2DCameraForm.Location = new Point(10, 70);
             panel_2DCameraForm.Name = "panel_2DCameraForm";
-            panel_2DCameraForm.Padding = new Padding(6);
-            panel_2DCameraForm.Size = new Size(1112, 707);
+            panel_2DCameraForm.Padding = new Padding(5, 5, 5, 5);
+            panel_2DCameraForm.Size = new Size(865, 601);
             panel_2DCameraForm.SmoothingType = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
             panel_2DCameraForm.TabIndex = 20;
             panel_2DCameraForm.Text = "panel2";
             // 
             // CameraForm
             // 
-            AutoScaleDimensions = new SizeF(9F, 20F);
-            AutoScaleMode = AutoScaleMode.Font;
-            ClientSize = new Size(1138, 800);
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
+            ClientSize = new Size(885, 680);
             Controls.Add(theme_2DCameraForm);
             FormBorderStyle = FormBorderStyle.None;
-            Margin = new Padding(4);
-            MinimumSize = new Size(336, 72);
+            MinimumSize = new Size(261, 61);
             Name = "CameraForm";
             Text = "2D鐩告満璁剧疆鐣岄潰";
             TransparencyKey = Color.Fuchsia;
diff --git a/LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs b/LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs
new file mode 100644
index 0000000..2bdc26b
--- /dev/null
+++ b/LB_VisionProcesses/Cameras/LBCameras/LBCamera.cs
@@ -0,0 +1,134 @@
+锘縰sing OpenCvSharp;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LB_VisionProcesses.Cameras.LBCameras
+{
+    /// <summary>
+    /// LB3D宸ヤ笟鐩告満瀹炵幇绫�
+    /// 鍩轰簬PHM6000绯诲垪灏佽
+    /// </summary>
+    internal class LBCamera : BaseCamera
+    {
+        public override bool AutoBalanceWhite()
+        {
+            return true;
+        }
+
+        public override bool CloseDevice()
+        {
+            return true;
+        }
+
+        public override bool GetExpouseTime(out double value)
+        {
+            value = 0;
+            return true;
+        }
+
+        public override bool GetGain(out double gain)
+        {
+            gain = 0;
+            return true;
+        }
+
+        public override bool GetLineStatus(IOLines line, out LineStatus lineStatus)
+        {
+            lineStatus = LineStatus.Hight;
+            return true;
+        }
+
+        public override List<string> GetListEnum()
+        {
+            return new List<string>();
+        }
+
+        public override bool GetTriggerDelay(out double delay)
+        {
+            delay = 0;
+            return true;
+        }
+
+        public override bool GetTriggerFliter(out double flitertime)
+        {
+            flitertime = 0;
+            return true;
+        }
+
+        public override bool GetTriggerMode(out TriggerMode mode, out TriggerSource source)
+        {
+            mode = TriggerMode.On;
+            source = TriggerSource.Line0;
+            return true;
+        }
+
+        public override bool GetTriggerPolarity(out TriggerPolarity polarity)
+        {
+            polarity = TriggerPolarity.RisingEdge;
+            return true;
+        }
+
+        public override bool InitDevice(string SN, object Handle = null)
+        {
+            return true;
+        }
+
+        public override bool SetExpouseTime(double value)
+        {
+            return true;
+        }
+
+        public override bool SetGain(double gain)
+        {
+            return true;
+        }
+
+        public override bool SetLineMode(IOLines line, LineMode mode)
+        {
+            return true;
+        }
+
+        public override bool SetLineStatus(IOLines line, LineStatus linestatus)
+        {
+            return true;
+        }
+
+        public override bool SetTriggerDelay(double delay)
+        {
+            return true;
+        }
+
+        public override bool SetTriggerFliter(double flitertime)
+        {
+            return true;
+        }
+
+        public override bool SetTriggerMode(TriggerMode mode, TriggerSource triggerEnum = TriggerSource.Line0)
+        {
+            return true;
+        }
+
+        public override bool SetTriggerPolarity(TriggerPolarity polarity)
+        {
+            return true;
+        }
+
+        public override bool SoftTrigger()
+        {
+            return true;
+        }
+
+        public override bool StartGrabbing()
+        {
+            return true;
+        }
+
+        public override bool StopGrabbing()
+        {
+            return true;
+        }
+    }
+}
diff --git a/LB_VisionProcesses/Communicators/CommunicatorForm.Designer.cs b/LB_VisionProcesses/Communicators/CommunicatorForm.Designer.cs
index 07dedd3..74ab279 100644
--- a/LB_VisionProcesses/Communicators/CommunicatorForm.Designer.cs
+++ b/LB_VisionProcesses/Communicators/CommunicatorForm.Designer.cs
@@ -321,7 +321,7 @@
             controlBox1.EnableMaximizeButton = false;
             controlBox1.EnableMinimizeButton = false;
             controlBox1.ForeColor = Color.FromArgb(155, 155, 155);
-            controlBox1.Location = new Point(479, 12);
+            controlBox1.Location = new Point(481, 18);
             controlBox1.MaximizeHoverColor = Color.FromArgb(74, 74, 74);
             controlBox1.MinimizeHoverColor = Color.FromArgb(63, 63, 65);
             controlBox1.Name = "controlBox1";
@@ -331,8 +331,8 @@
             // 
             // CommunicatorForm
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             ClientSize = new Size(581, 496);
             Controls.Add(btnRuleSend);
             Controls.Add(grpTest);
diff --git a/LB_VisionProcesses/Communicators/CommunicatorForm.resx b/LB_VisionProcesses/Communicators/CommunicatorForm.resx
index 3384e6d..9ca1331 100644
--- a/LB_VisionProcesses/Communicators/CommunicatorForm.resx
+++ b/LB_VisionProcesses/Communicators/CommunicatorForm.resx
@@ -120,25 +120,25 @@
   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <data name="themeForm1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
-        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
-        YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAPiSURBVFhH7VZLiBxlEG7d+IjBKKtktqt6d8kybLqqZyfi
-        +lgUXcGooKIXxYBKLgZFQVDwgQhBvAVzUOPBi3iJgnoSCcTLKobEma7qHeOiuB7UiBo1PuIjq9HNSPX0
-        rDN/zyzbQjztB9+pv3r8/19dVZ63ilUUwBzzmbppGOpRcKlEcLNwcGfMsE0J7ogj//okws2NamlD83Zv
-        wLX9z2h63ulz7I8kDNsSxleF8CMl+EEY/lDCv5TxbyU8oQTHlfCIEL5kSbh+CqPpeafVIxgWwieUcU4I
-        /lTGZl8SnEgI3pBxPzTbOQ4Gkyi4pxEGFTuE639ZpFfNcIsS1LJT5gN28xdl3Cnj/oVmP7t59Hwl3K0M
-        C8owL4zbG9XSOjdOT5hQCB5Rxu97BMqT4BsJ4X6Z9M8x+483XXCuEO5KnyjTCOGvSvjMAQ4G3XhdODAV
-        rBWGHUL4Wy5Qb34Sk3/rzLS3xuwtCSV8ShmOu1p7wpjwBRkbO8+Nm6LpeQMxwX3Suk43ULczxpPKKLOR
-        f+WO7H1bz4YPpaftYdMiLMQET5rWje/FhJfHhF/kjXJcVIZ3tIJVKzazfc3zBpTwLmU82kPfRWH8Lg79
-        67qC76uW1mkEr2Qnyxl1GC8K49uNEMbbtpZEjeBaXVnymR/Y2/UUNQqutn/bFTpcVMZ9ykF5ydDzvEMV
-        P4wZtYe+L+2Z4hBvSh3YP6rs71zu9PZNGN7tPLnBqloIXl/Oth+F4MW0eO0qlPA9V9BFwtlZhos6g89M
-        T69JGB/Xjt+tIDXtG41qaaMwftZDkBG+TAi2tAuuDaHhq4Thq7x+pYSvNRoiL54IJqwy84L05L8LwwPu
-        cLFOJ4Rv5vQFKAQ/xRxc1jeB9F0J9rxfHlzfGdxQD2GrJefaFGI7gfrEyJgwfp4X4GEN/Uk3+H5rtQx7
-        c/qCFIIjNSpFrcHBcLDro1U94a52i+1EHPoXC+VvrCiF4cNDlY2ltIsJwXOO4KiEOOUGN9jykc7/Hk4L
-        kWDPUkuWKLhBGY79+xH32824wQ3WcsWWENdhAdqktG1qyakVWszw1pKI8GW7ma7IGbQydImNYNdpIRLU
-        4nDE73JcJ9gihN9mCexuTzkX2dR7TAh+zDleAa0N1wnvdvuKJ5OTZ9j6JQwL1l57jswMM6OjZ8eEN0q6
-        I8KnynjMVjKbF1lbPtlq3ykXW1tVuh39LITP992O5suD65XhWSH4QGlo1P3uYr5cPst0thckjLcp473K
-        8LBYiyb/0YTwQdsLNYStlnASwRX9amsJaZcL8WkJcXu/OjjlODwVrI0jvOZgZUPJ/fa/wYrEnQGrOBX4
-        B6XRFGacFF+7AAAAAElFTkSuQmCC
+        iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+        wgAADsIBFShKgAAAA+JJREFUWEftVkuIHGUQbt34iMEoq2S2q3p3yTJsuqpnJ+L6WBRdwaigohfFgEou
+        BkVBUPCBCEG8BXNQ48GLeImCehIJxMsqhsSZruod46K4HtSIGjU+4iOr0c1I9fSsM3/PLNtCPO0H36m/
+        evz/X11VnreKVRTAHPOZumkY6lFwqURws3BwZ8ywTQnuiCP/+iTCzY1qaUPzdm/Atf3PaHre6XPsjyQM
+        2xLGV4XwIyX4QRj+UMK/lPFvJTyhBMeV8IgQvmRJuH4Ko+l5p9UjGBbCJ5RxTgj+VMZmXxKcSAjekHE/
+        NNs5DgaTKLinEQYVO4Trf1mkV81wixLUslPmA3bzF2XcKeP+hWY/u3n0fCXcrQwLyjAvjNsb1dI6N05P
+        mFAIHlHG73sEypPgGwnhfpn0zzH7jzddcK4Q7kqfKNMI4a9K+MwBDgbdeF04MBWsFYYdQvhbLlBvfhKT
+        f+vMtLfG7C0JJXxKGY67WnvCmPAFGRs7z42boul5AzHBfdK6TjdQtzPGk8oos5F/5Y7sfVvPhg+lp+1h
+        0yIsxARPmtaN78WEl8eEX+SNclxUhne0glUrNrN9zfMGlPAuZTzaQ99FYfwuDv3ruoLvq5bWaQSvZCfL
+        GXUYLwrj240Qxtu2lkSN4FpdWfKZH9jb9RQ1Cq62f9sVOlxUxn3KQXnJ0PO8QxU/jBm1h74v7ZniEG9K
+        Hdg/quzvXO709k0Y3u08ucGqWgheX862H4XgxbR47SqU8D1X0EXC2VmGizqDz0xPr0kYH9eO360gNe0b
+        jWppozB+1kOQEb5MCLa0C64NoeGrhOGrvH6lhK81GiIvnggmrDLzgvTkvwvDA+5wsU4nhG/m9AUoBD/F
+        HFzWN4H0XQn2vF8eXN8Z3FAPYasl59oUYjuB+sTImDB+nhfgYQ39STf4fmu1DHtz+oIUgiM1KkWtwcFw
+        sOujVT3hrnaL7UQc+hcL5W+sKIXhw0OVjaW0iwnBc47gqIQ45QY32PKRzv8eTguRYM9SS5YouEEZjv37
+        EffbzbjBDdZyxZYQ12EB2qS0bWrJqRVazPDWkojwZbuZrsgZtDJ0iY1g12khEtTicMTvclwn2CKE32YJ
+        7G5PORfZ1HtMCH7MOV4BrQ3XCe92+4onk5Nn2PolDAvWXnuOzAwzo6Nnx4Q3SrojwqfKeMxWMpsXWVs+
+        2WrfKRdbW1W6Hf0shM/33Y7my4PrleFZIfhAaWjU/e5ivlw+y3S2FySMtynjvcrwsFiLJv/RhPBB2ws1
+        hK2WcBLBFf1qawlplwvxaQlxe786OOU4PBWsjSO85mBlQ8n99r/BisSdAas4FfgHpdEUZpwUX7sAAAAA
+        SUVORK5CYII=
 </value>
   </data>
 </root>
\ No newline at end of file
diff --git a/LB_VisionProcesses/Communicators/MES/LBMES.cs b/LB_VisionProcesses/Communicators/MES/LBMES.cs
new file mode 100644
index 0000000..87d0086
--- /dev/null
+++ b/LB_VisionProcesses/Communicators/MES/LBMES.cs
@@ -0,0 +1,12 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LB_VisionProcesses.Communicators.MES
+{
+    internal class LBMES
+    {
+    }
+}
diff --git a/LB_VisionProcesses/Communicators/SiemensS7/SiemensLBS7.cs b/LB_VisionProcesses/Communicators/SiemensS7/SiemensLBS7.cs
new file mode 100644
index 0000000..f9fac67
--- /dev/null
+++ b/LB_VisionProcesses/Communicators/SiemensS7/SiemensLBS7.cs
@@ -0,0 +1,12 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace LB_VisionProcesses.Communicators.SiemensS7
+{
+    internal class SiemensLBS7
+    {
+    }
+}
diff --git a/LB_VisionProcesses/Forms/GlobalVarControl.Designer.cs b/LB_VisionProcesses/Forms/GlobalVarControl.Designer.cs
index bed31eb..29249f5 100644
--- a/LB_VisionProcesses/Forms/GlobalVarControl.Designer.cs
+++ b/LB_VisionProcesses/Forms/GlobalVarControl.Designer.cs
@@ -79,8 +79,8 @@
             // 
             // GlobalVarControl
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(tableLayoutPanel1);
             Name = "GlobalVarControl";
             Size = new Size(578, 32);
diff --git a/LB_VisionProcesses/Forms/GlobalVarForm.Designer.cs b/LB_VisionProcesses/Forms/GlobalVarForm.Designer.cs
index 9c8b465..c71f731 100644
--- a/LB_VisionProcesses/Forms/GlobalVarForm.Designer.cs
+++ b/LB_VisionProcesses/Forms/GlobalVarForm.Designer.cs
@@ -30,12 +30,12 @@
         {
             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GlobalVarForm));
             theme_GlobalVarForm = new ReaLTaiizor.Forms.ThemeForm();
-            controlBox_GlobalVarForm = new ReaLTaiizor.Controls.ControlBox();
-            controlsPanel = new ReaLTaiizor.Controls.Panel();
             tlp_GlobalVarForm = new Sunny.UI.UITableLayoutPanel();
             tlp_GlobalVarFormOperator = new Sunny.UI.UITableLayoutPanel();
             btn_Delete = new ReaLTaiizor.Controls.Button();
             btn_Add = new ReaLTaiizor.Controls.Button();
+            controlsPanel = new ReaLTaiizor.Controls.Panel();
+            controlBox_GlobalVarForm = new ReaLTaiizor.Controls.ControlBox();
             theme_GlobalVarForm.SuspendLayout();
             tlp_GlobalVarForm.SuspendLayout();
             tlp_GlobalVarFormOperator.SuspendLayout();
@@ -59,37 +59,6 @@
             theme_GlobalVarForm.StartPosition = FormStartPosition.WindowsDefaultLocation;
             theme_GlobalVarForm.TabIndex = 0;
             theme_GlobalVarForm.Text = "鍏ㄥ眬鍙橀噺";
-            // 
-            // controlBox_GlobalVarForm
-            // 
-            controlBox_GlobalVarForm.Anchor = AnchorStyles.Top | AnchorStyles.Right;
-            controlBox_GlobalVarForm.BackColor = Color.FromArgb(32, 34, 37);
-            controlBox_GlobalVarForm.CloseHoverColor = Color.FromArgb(230, 17, 35);
-            controlBox_GlobalVarForm.DefaultLocation = true;
-            controlBox_GlobalVarForm.EnableHoverHighlight = true;
-            controlBox_GlobalVarForm.EnableMaximizeButton = false;
-            controlBox_GlobalVarForm.EnableMinimizeButton = false;
-            controlBox_GlobalVarForm.ForeColor = Color.FromArgb(155, 155, 155);
-            controlBox_GlobalVarForm.Location = new Point(700, 18);
-            controlBox_GlobalVarForm.MaximizeHoverColor = Color.FromArgb(74, 74, 74);
-            controlBox_GlobalVarForm.MinimizeHoverColor = Color.FromArgb(63, 63, 65);
-            controlBox_GlobalVarForm.Name = "controlBox_GlobalVarForm";
-            controlBox_GlobalVarForm.Size = new Size(90, 25);
-            controlBox_GlobalVarForm.TabIndex = 1;
-            // 
-            // controlsPanel
-            // 
-            controlsPanel.BackColor = Color.FromArgb(39, 51, 63);
-            controlsPanel.Dock = DockStyle.Fill;
-            controlsPanel.EdgeColor = Color.FromArgb(32, 41, 50);
-            controlsPanel.Location = new Point(3, 3);
-            controlsPanel.Name = "controlsPanel";
-            controlsPanel.Padding = new Padding(5);
-            controlsPanel.Size = new Size(774, 455);
-            controlsPanel.SmoothingType = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
-            controlsPanel.TabIndex = 0;
-            controlsPanel.Text = "panel1";
-            controlsPanel.SizeChanged += controlsPanel_SizeChanged;
             // 
             // tlp_GlobalVarForm
             // 
@@ -169,10 +138,41 @@
             btn_Add.TextAlignment = StringAlignment.Center;
             btn_Add.Click += btn_Add_Click;
             // 
+            // controlsPanel
+            // 
+            controlsPanel.BackColor = Color.FromArgb(39, 51, 63);
+            controlsPanel.Dock = DockStyle.Fill;
+            controlsPanel.EdgeColor = Color.FromArgb(32, 41, 50);
+            controlsPanel.Location = new Point(3, 3);
+            controlsPanel.Name = "controlsPanel";
+            controlsPanel.Padding = new Padding(5);
+            controlsPanel.Size = new Size(774, 455);
+            controlsPanel.SmoothingType = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
+            controlsPanel.TabIndex = 0;
+            controlsPanel.Text = "panel1";
+            controlsPanel.SizeChanged += controlsPanel_SizeChanged;
+            // 
+            // controlBox_GlobalVarForm
+            // 
+            controlBox_GlobalVarForm.Anchor = AnchorStyles.Top | AnchorStyles.Right;
+            controlBox_GlobalVarForm.BackColor = Color.FromArgb(32, 34, 37);
+            controlBox_GlobalVarForm.CloseHoverColor = Color.FromArgb(230, 17, 35);
+            controlBox_GlobalVarForm.DefaultLocation = true;
+            controlBox_GlobalVarForm.EnableHoverHighlight = true;
+            controlBox_GlobalVarForm.EnableMaximizeButton = false;
+            controlBox_GlobalVarForm.EnableMinimizeButton = false;
+            controlBox_GlobalVarForm.ForeColor = Color.FromArgb(155, 155, 155);
+            controlBox_GlobalVarForm.Location = new Point(700, 18);
+            controlBox_GlobalVarForm.MaximizeHoverColor = Color.FromArgb(74, 74, 74);
+            controlBox_GlobalVarForm.MinimizeHoverColor = Color.FromArgb(63, 63, 65);
+            controlBox_GlobalVarForm.Name = "controlBox_GlobalVarForm";
+            controlBox_GlobalVarForm.Size = new Size(90, 25);
+            controlBox_GlobalVarForm.TabIndex = 1;
+            // 
             // GlobalVarForm
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             ClientSize = new Size(800, 600);
             Controls.Add(theme_GlobalVarForm);
             FormBorderStyle = FormBorderStyle.None;
diff --git a/LB_VisionProcesses/LB_VisionProcesses.csproj b/LB_VisionProcesses/LB_VisionProcesses.csproj
index 1f8026d..63a1738 100644
--- a/LB_VisionProcesses/LB_VisionProcesses.csproj
+++ b/LB_VisionProcesses/LB_VisionProcesses.csproj
@@ -37,9 +37,6 @@
 
   <ItemGroup>
     <Folder Include="Alogrithms\VisualLargeModel\" />
-    <Folder Include="Cameras\LBCameras\" />
-    <Folder Include="Communicators\SiemensS7\" />
-    <Folder Include="Communicators\MES\" />
   </ItemGroup>
 
   <ItemGroup>
diff --git a/LB_VisionProcesses/ProcessEditForm.Designer.cs b/LB_VisionProcesses/ProcessEditForm.Designer.cs
index 6c30a1a..3dd4808 100644
--- a/LB_VisionProcesses/ProcessEditForm.Designer.cs
+++ b/LB_VisionProcesses/ProcessEditForm.Designer.cs
@@ -85,8 +85,8 @@
             // 
             // ProcessEditForm
             // 
-            AutoScaleDimensions = new SizeF(7F, 17F);
-            AutoScaleMode = AutoScaleMode.Font;
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             ClientSize = new Size(944, 601);
             Controls.Add(theme_AlgorithmForm);
             FormBorderStyle = FormBorderStyle.None;
diff --git a/LB_VisionProcesses/ProcessEditForm.resx b/LB_VisionProcesses/ProcessEditForm.resx
index ab9e96e..a9e9837 100644
--- a/LB_VisionProcesses/ProcessEditForm.resx
+++ b/LB_VisionProcesses/ProcessEditForm.resx
@@ -121,7 +121,7 @@
   <data name="theme_AlgorithmForm.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
     <value>
         iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
-        wQAADsEBuJFr7QAAA+JJREFUWEftVkuIHGUQbt34iMEoq2S2q3p3yTJsuqpnJ+L6WBRdwaigohfFgEou
+        wAAADsABataJCQAAA+JJREFUWEftVkuIHGUQbt34iMEoq2S2q3p3yTJsuqpnJ+L6WBRdwaigohfFgEou
         BkVBUPCBCEG8BXNQ48GLeImCehIJxMsqhsSZruod46K4HtSIGjU+4iOr0c1I9fSsM3/PLNtCPO0H36m/
         evz/X11VnreKVRTAHPOZumkY6lFwqURws3BwZ8ywTQnuiCP/+iTCzY1qaUPzdm/Atf3PaHre6XPsjyQM
         2xLGV4XwIyX4QRj+UMK/lPFvJTyhBMeV8IgQvmRJuH4Ko+l5p9UjGBbCJ5RxTgj+VMZmXxKcSAjekHE/
diff --git a/LB_VisionProcesses/Processes/ScriptTool/ScriptToolEdit.Designer.cs b/LB_VisionProcesses/Processes/ScriptTool/ScriptToolEdit.Designer.cs
index b4bd9d0..c413c11 100644
--- a/LB_VisionProcesses/Processes/ScriptTool/ScriptToolEdit.Designer.cs
+++ b/LB_VisionProcesses/Processes/ScriptTool/ScriptToolEdit.Designer.cs
@@ -241,7 +241,7 @@
             btnRunCode.Image = (Image)resources.GetObject("btnRunCode.Image");
             btnRunCode.ImageTransparentColor = Color.Magenta;
             btnRunCode.Name = "btnRunCode";
-            btnRunCode.Size = new Size(36, 22);
+            btnRunCode.Size = new Size(46, 25);
             btnRunCode.Text = "杩愯";
             btnRunCode.Click += btnRunCode_Click;
             // 
@@ -274,6 +274,8 @@
             // 
             // ScriptToolEdit
             // 
+            AutoScaleDimensions = new SizeF(96F, 96F);
+            AutoScaleMode = AutoScaleMode.Dpi;
             Controls.Add(panel1);
             Controls.Add(statusStrip1);
             Controls.Add(ToolsStrip);
diff --git a/LB_VisionProcesses/ref/MVSDKmd.dll b/LB_VisionProcesses/ref/MVSDKmd.dll
new file mode 100644
index 0000000..cb3b701
--- /dev/null
+++ b/LB_VisionProcesses/ref/MVSDKmd.dll
Binary files differ

--
Gitblit v1.9.3