diff --git a/AutoRobot/Windows/Robot/Web/src/DockLayout/Area.vue b/AutoRobot/Windows/Robot/Web/src/DockLayout/Area.vue index 66ddbdc..727a39e 100644 --- a/AutoRobot/Windows/Robot/Web/src/DockLayout/Area.vue +++ b/AutoRobot/Windows/Robot/Web/src/DockLayout/Area.vue @@ -112,6 +112,26 @@ watch(() => props.top, (newTop) => { } }, { immediate: true }) +// 监听WindowState变化,同步更新localState +watch(() => props.WindowState, (newState) => { + if (newState !== localState.value) { + localState.value = newState + + // 如果是从外部设置为最大化,保存当前位置以便还原 + if (newState === '最大化' || newState === 'maximized') { + maximizedFromPosition.value = { + width: originalPosition.value.width, + height: originalPosition.value.height, + left: originalPosition.value.left, + top: originalPosition.value.top + } + } else if (maximizedFromPosition.value) { + // 如果是从外部设置为正常状态,恢复保存的位置 + originalPosition.value = { ...maximizedFromPosition.value } + } + } +}, { immediate: true }) + // 根据状态计算尺寸和位置样式 const areaStyle = computed(() => { if (isMaximized.value) { diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs b/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs index 04087ed..ef9c17c 100644 --- a/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs +++ b/Windows/CS/Framework4.0/Toprie/Toprie/Camera.cs @@ -72,17 +72,6 @@ namespace JoyD.Windows.CS.Toprie } } } - - /// - /// 获取最近一次接收到的温度数据 - /// - - - /// - /// 设备管理器温度数据接收事件处理 - /// - // 显示错误的定时器 - /// /// 更新设计模式状态到DeviceManager @@ -422,6 +411,7 @@ namespace JoyD.Windows.CS.Toprie + /// /// 启动相机 /// @@ -907,7 +897,7 @@ namespace JoyD.Windows.CS.Toprie if (DesignMode) return; try { - // 确保在UI线程上更新UI状态 + // 确保在UI线程上更新UI if (this.InvokeRequired) { this.Invoke(new Action(HandleConnectionStatusChanged), e); @@ -1123,7 +1113,7 @@ namespace JoyD.Windows.CS.Toprie // 使用BeginInvoke代替Invoke,避免可能的死锁问题 this.BeginInvoke(new Action(() => - { + { // 再次检查控件状态,防止在异步调用期间控件被释放 if (!this.IsDisposed && !this.Disposing) { @@ -1835,4 +1825,4 @@ namespace JoyD.Windows.CS.Toprie } } } -} +} \ No newline at end of file