Process.Start启动过程两次而不是一次

时间:2013-11-16 09:35:10

标签: c# process.start

我有两个可执行文件(Program1.exe和Program2.exe),每个可执行文件在关闭时打开另一个:

这里有一些来自Program1.exe的代码:

private void Main_FormClosing(object sender, FormClosingEventArgs e)
{
   Application.Exit();
   Process.Start(Environment.CurrentDirectory + @"\Program2.exe");
}

但是,当我这样做时,它会打开两个窗口,而不是一个。有没有办法让它只打开一个窗口?

2 个答案:

答案 0 :(得分:2)

尝试删除Application.Exit();

它会调用Main_FormClosing

答案 1 :(得分:1)

Application.Exit将再次致电FormClosing个事件。因此,Process.Start被调用两次,因此会打开两次。

FormClosed事件

中移动以下代码
private void Main_FormClosed(object sender, FormClosedEventArgs e)
{
    Process.Start(Environment.CurrentDirectory + @"\Program2.exe");
}