c# - Process.Start 启动进程两次而不是一次

标签 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");
}

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

最佳答案

Application.Exit 将再次调用 FormClosing 事件。因此,Process.Start 被调用两次,因此它打开了两次。

将以下代码移动到 FormClosed 事件

private void Main_FormClosed(object sender, FormClosedEventArgs e)
{
    Process.Start(Environment.CurrentDirectory + @"\Program2.exe");
}

关于c# - Process.Start 启动进程两次而不是一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20016896/

相关文章:

c# - 使用 Process.start() 从 C# 表单执行 C++ exe

c# - 如何禁用下载提示,如 'do you want to open or save or save_as?'

c# - 当外部程序使用 Process.Start() 启动我的代码时进行调试

c# - 在运行时将 TextEdit 添加到 DevExpress GridView 的列

c# - 如何在 ViewModel 类中执行 ComboboxSelectionChanged 方法

c# - 从 DataTable 创建 XML

c# - 获取不带扩展名的文件名

c# - 在哪里放置两个相关对象的业务逻辑?

c# - 如何从C#运行.exe

batch-file - 如何通过asp.net schtasks向bat文件传入参数