From 8826196fc78ceb9c327d3abf7f2f2cf06dabb5df Mon Sep 17 00:00:00 2001
From: C3204 <zhengyabo@lanpucloud.cn>
Date: 星期四, 09 四月 2026 14:43:32 +0800
Subject: [PATCH] 修复布局移除&添加bug。

---
 LB_SmartVision/Forms/Pages/ProcessPage/AllProcessesPage.cs |   66 ++++++++++++++++++++++++++++++--
 1 files changed, 61 insertions(+), 5 deletions(-)

diff --git a/LB_SmartVision/Forms/Pages/ProcessPage/AllProcessesPage.cs b/LB_SmartVision/Forms/Pages/ProcessPage/AllProcessesPage.cs
index af5e252..8d4a134 100644
--- a/LB_SmartVision/Forms/Pages/ProcessPage/AllProcessesPage.cs
+++ b/LB_SmartVision/Forms/Pages/ProcessPage/AllProcessesPage.cs
@@ -98,10 +98,11 @@
             int controlHeight = this.controlsPanel.Height / matrixRows;
             // 姣忔閲嶆瀯甯冨眬鏃舵竻绌哄師濮嬭褰�
             _originalControlLayouts.Clear();
-            for (int i = 0; i < GlobalVar.dicLayout.Count; i++)
+            //int i = 0;
+            foreach (var item in GlobalVar.dicLayout)
             {
-                string name = GlobalVar.dicLayout[i].ProcessName;
-                string title = GlobalVar.dicLayout[i].Title;
+                string name = item.Value.ProcessName;
+                string title = item.Value.Title;
 
                 if (GlobalVar.dicProcesses.ContainsKey(name))
                 {
@@ -126,7 +127,7 @@
                     else
                     {
                         // 鏂板缓鎺т欢锛屾寜鐭╅樀甯冨眬璧嬪�煎昂瀵稿拰浣嶇疆
-                        processControl = new LB_SmartVision.Forms.Pages.ProcessPage.ProcessControl(GlobalVar.dicLayout[i]);
+                        processControl = new LB_SmartVision.Forms.Pages.ProcessPage.ProcessControl(item.Value);
                         processControl.Size = originalSize;
                         processControl.Location = originalLocation;
                         processControl.SetTitle(title);
@@ -144,14 +145,69 @@
                     _originalControlLayouts[title] = (originalSize, originalLocation);
 
                     // 鏇存柊鍥剧墖
-                    if (GlobalVar.dicProcesses[name].GetImage(GlobalVar.dicLayout[i], out _, out HObject recordImage))
+                    if (GlobalVar.dicProcesses[name].GetImage(item.Value, out _, out HObject recordImage))
                     {
                         dicProcessControls[title].ShowHoImage(recordImage);
                     }
 
                     index++; // 浠呭惎鐢ㄧ殑甯冨眬绱㈠紩閫掑
                 }
+
             }
+            //for (int i = 0; i < GlobalVar.dicLayout.Count; i++)
+            //{
+            //    string name = GlobalVar.dicLayout[i].ProcessName;
+            //    string title = GlobalVar.dicLayout[i].Title;
+
+            //    if (GlobalVar.dicProcesses.ContainsKey(name))
+            //    {
+            //        // 璁$畻褰撳墠鎺т欢鐨勮鍒楃储寮�
+            //        int colIndex = index % matrixColumns; // 鍒楃储寮曪紙0,1,0,1...锛�
+            //        int rowIndex = index / matrixColumns; // 琛岀储寮曪紙0,0,1,1...锛�
+            //                                              // 璁$畻鍘熷浣嶇疆鍜屽昂瀵革紙鐭╅樀甯冨眬锛�
+            //        Size originalSize = new Size(controlWidth, controlHeight);
+            //        Point originalLocation = new Point(colIndex * controlWidth, rowIndex * controlHeight);
+            //        LB_SmartVision.Forms.Pages.ProcessPage.ProcessControl processControl;
+            //        if (dicProcessControls.ContainsKey(title))
+            //        {
+            //            // 澶嶇敤宸叉湁鎺т欢锛屾洿鏂板昂瀵稿拰浣嶇疆
+            //            processControl = dicProcessControls[title];
+            //            processControl.Size = originalSize;
+            //            processControl.Location = originalLocation;
+            //            processControl.Visible = true;
+            //            //processControl.SetColor(Color.White);
+            //            // 瑙g粦鏃т簨浠讹紝閬垮厤閲嶅缁戝畾
+            //            processControl.event_MouseDoubleClick -= ProcessControl_DoubleClick;
+            //        }
+            //        else
+            //        {
+            //            // 鏂板缓鎺т欢锛屾寜鐭╅樀甯冨眬璧嬪�煎昂瀵稿拰浣嶇疆
+            //            processControl = new LB_SmartVision.Forms.Pages.ProcessPage.ProcessControl(GlobalVar.dicLayout[i]);
+            //            processControl.Size = originalSize;
+            //            processControl.Location = originalLocation;
+            //            processControl.SetTitle(title);
+            //            //processControl.SetColor(Color.White);
+            //            // 娣诲姞鍒板瓧鍏稿拰闈㈡澘
+            //            dicProcessControls.TryAdd(title, processControl);
+            //            this.controlsPanel.Controls.Add(processControl);
+
+            //        }
+
+            //        // 缁戝畾鍙屽嚮浜嬩欢锛堝乏閿級鍜岄紶鏍囨寜涓嬩簨浠讹紙鍙抽敭鍙屽嚮锛�
+            //        processControl.event_MouseDoubleClick += ProcessControl_DoubleClick;
+
+            //        // 淇濆瓨鍘熷甯冨眬锛堢煩闃电姸鎬侊級
+            //        _originalControlLayouts[title] = (originalSize, originalLocation);
+
+            //        // 鏇存柊鍥剧墖
+            //        if (GlobalVar.dicProcesses[name].GetImage(GlobalVar.dicLayout[i], out _, out HObject recordImage))
+            //        {
+            //            dicProcessControls[title].ShowHoImage(recordImage);
+            //        }
+
+            //        index++; // 浠呭惎鐢ㄧ殑甯冨眬绱㈠紩閫掑
+            //    }
+            //}
             // 濡傛灉褰撳墠鏄叏灞忕姸鎬侊紝鎭㈠鐭╅樀甯冨眬鍚庨噸缃姸鎬�
             if (_isFullScreen)
             {

--
Gitblit v1.9.3