轮胎外观检测添加思谋语义分割模型检测工具
C3204
7 天以前 8826196fc78ceb9c327d3abf7f2f2cf06dabb5df
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);
            //            // 解绑旧事件,避免重复绑定
            //            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)
            {