Процесс.Start запускает процесс два раза вместо одного
-
21-12-2019 - |
Вопрос
У меня есть два исполняемых файла (Program1.exe и Program2.exe), каждый из которых открывает другой при закрытии:
Вот некоторый код из Program1.exe:
private void Main_FormClosing(object sender, FormClosingEventArgs e)
{
Application.Exit();
Process.Start(Environment.CurrentDirectory + @"\Program2.exe");
}
Однако, когда я делаю это, он открывается два окна вместо одного.Есть ли какой-нибудь способ позволить ему открыть только одно окно?
Решение
Application.Exit
позовет FormClosing
событие еще раз.Так Process.Start
вызывается дважды и, таким образом, открывается дважды.
Переместите следующий код в FormClosed
событие
private void Main_FormClosed(object sender, FormClosedEventArgs e)
{
Process.Start(Environment.CurrentDirectory + @"\Program2.exe");
}
Другие советы
Попробуйте удалить Application.Exit();
.
Это вызывает Main_FormClosing
Не связан с StackOverflow