2012-12-12 66 views
-4

每次我点击No按钮(这里button2_click),程序再次打开自己,我不明白为什么。当我点击button2时,程序为什么会重新启动?

private void button2_Click(object sender, EventArgs e) 
{ 
    Process game = new Process(); 

    game.StartInfo.FileName = "ShovelShovel.exe"; 
    game.Start(); 
} 

我想通,将推出游戏和关闭,但如果我按一下按钮,它只是重新启动我的程序。如果我在该表单上单击否,那么我会得到一个未处理的异常列表。

是否我这样做.Close();或Application.Exit();该计划仍然打开自己。

谁能告诉我为什么它会再次打开?无论如何,我还没有改变Program.cs。

非常感谢。

+2

您的“否”按钮(这里,按钮2)在点击事件中启动了“ShovelShovel.exe”进程..这就是为什么它再次打开自己的原因。 –

+1

为什么启动程序关闭?您当然不会在您向我们显示的代码中的任何地方退出启动器。显然,如果你点击'button2'两次,那么'button2_Click()'会被调用两次。 – millimoose

+0

上面显示的程序被称为“ShovelShovel Settings.exe”我只点击一次按钮,它打开另一个窗口。它应该打开EXE,而不是自己打开。 – Fiona

回答

1

试试这个:(假设你是从工作程序是 “ShovelShovel的settings.exe”,是 “ShovelShovel.exe” 发射)

//launch game 
ProcessStartInfo startInfo = new ProcessStartInfo(); 
startInfo.FileName = "ShovelShovel.exe"; 
Process p = Process.Start(startInfo); 

//close 
this.Close(); 

甚至只是

Process.Start("ShovelShovel.exe"); 

如果这仍然是启动相同的应用程序,您要么有错误的路径,要么exe是相同的。

要仔细检查,为什么不进入目录并从WindowsExplorer手动执行“ShovelShovel.exe”。

+0

OP不使用静态的Start()方法 – saus

+1

那么?我没有看到这是如何相关的。 Op想知道如何开始一个过程。 – caesay

+0

我试过了,但它仍然打开。 – Fiona

相关问题