Как восстановить окно, разрешающее один экземпляр приложения в c #? - PullRequest
1 голос
/ 10 августа 2011

я реализовал возможность открывать один экземпляр приложения, используя следующий поток

Восстановление окна из системного трея при разрешении только одного экземпляра этой программы

это работает, но текущее открытое окно не восстанавливается. Я не использовал концепцию MDI Parent. Для навигации по форме я использовал только hide () и show (). Я попробовал ссылку codeproject из вышеупомянутого потока. Я создал первый экземпляр, и я в mainform.now, я попытался открыть второй экземпляр приложения, он восстанавливает то же самое окно. После перехода к любому окну в приложении. Если я делаю то же самое, теперь он открывает основную форму в новом окне вместе с существующим окном. Если я закрыл любое из них, закрываются оба.

Как изменить код, чтобы решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 11 августа 2011

я выполнил свою задачу по этой ссылке

http://sanity -free.org / 143 / csharp_dotnet_single_instance_application.html

Я поместил код Form1 во все формы. Теперь работает идеально ..

0 голосов
/ 10 августа 2011

Я не посмотрел на ссылку в вашем посте.Но я предполагаю, что вы используете Mutex для запуска только одного экземпляра приложения для загрузки, независимо от того, сколько раз вы пытаетесь запустить его.

Если это дочернее приложение, то вы можете иметь статический объект этого потомка и продолжать запускать тот же объект с помощью вызова ShowDialog (Winform).

...