2012-12-12 95 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

相關問題