| | |
| | | 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)) |
| | | { |
| | |
| | | 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); |
| | |
| | | _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) |
| | | { |