更新
This commit is contained in:
@@ -140,22 +140,16 @@ namespace 自救器呼吸器综合检验仪
|
||||
// 添加窗口关闭事件处理
|
||||
windowInstance.Closed += (s, args) =>
|
||||
{
|
||||
// 窗口关闭时重新启动定时器并显示当前窗口
|
||||
_readTimer?.Start();
|
||||
this.Show();
|
||||
this.Activate();
|
||||
WindowNavigationHelper.RestoreWindow(this, () => _readTimer?.Start());
|
||||
};
|
||||
}
|
||||
else
|
||||
{
|
||||
// 激活已存在的窗口(前置显示)
|
||||
windowInstance.Activate();
|
||||
WindowNavigationHelper.ShowWithoutWhiteFlash(this, windowInstance);
|
||||
return;
|
||||
}
|
||||
|
||||
// 4. 切换窗口:隐藏当前窗口,显示目标窗口(非模态)
|
||||
this.Hide();
|
||||
windowInstance.Show(); // 使用 Show() 而不是 ShowDialog()
|
||||
WindowNavigationHelper.ShowWithoutWhiteFlash(this, windowInstance);
|
||||
}
|
||||
|
||||
|
||||
@@ -488,18 +482,12 @@ _modbusMaster?.ReadHoldingRegisters(1, 290, 2)
|
||||
// 释放Modbus资源
|
||||
ModbusResourceManager.Instance?.Dispose();
|
||||
|
||||
// 确保应用程序完全退出
|
||||
Application.Current.Shutdown();
|
||||
// 延后到当前窗口完成关闭后再统一关停,避免关闭重入。
|
||||
AppShutdownCoordinator.RequestShutdown();
|
||||
}
|
||||
private void Window_Closed(object sender, EventArgs e)
|
||||
{
|
||||
// 清理其他窗口实例
|
||||
_mainWindow?.Close();
|
||||
_mainWindow2?.Close();
|
||||
_mainWindow3?.Close();
|
||||
//_mainWindow4?.Close();
|
||||
|
||||
_mainWindow4?.Close();
|
||||
// 由应用级关停统一处理其他窗口,避免关闭链路重入。
|
||||
}
|
||||
// 重置为默认值
|
||||
private void ResetToDefaults()
|
||||
@@ -789,4 +777,4 @@ _modbusMaster?.ReadHoldingRegisters(1, 290, 2)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user