如何在c#中恢复允许单个应用程序实例的窗口

本文关键字:应用程序 许单个 实例 窗口 恢复 | 更新日期: 2023-09-27 18:04:54

i实现允许使用以下线程打开应用程序的单个实例

从系统托盘中恢复窗口,当只允许该程序的一个实例

它正在工作,但当前打开的窗口没有恢复。我没有使用MDI父概念。为了导航表单,我使用了hide()和show()。我尝试了上面线程的代码项目链接。我创建了第一个实例,我在mainform。现在我尝试打开应用程序的第二个实例,它正在恢复相同的窗口。在导航到应用程序中的任何窗口后。如果我做同样的事情,现在它会在新窗口中打开主窗体以及现有窗口。如果我关闭了其中一个,两个都关闭了。

如何修改代码来解决这个问题?

如何在c#中恢复允许单个应用程序实例的窗口

我没有看你帖子里的链接。但是,我假设您使用互斥锁只启动应用程序的一个实例来加载,无论您尝试启动它多少次。

如果它是一个子应用程序,那么你可以有一个子应用程序的静态对象,并保持启动相同的对象与ShowDialog调用(Winform)