2014-02-27 53 views
0

我用Visual Studio(C#)編寫了一個簡單的程序。當我關閉程序(點擊Х)時,表單被關閉,但過程依然存在。我不得不從任務管理器關閉它。如何關閉C#進程?

什麼命令關閉過程? 我的代碼:

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{      
    e.Cancel = true;   
} 
+3

http://msdn.microsoft.com/en-us/library/system.windows.forms.application.exit(v=vs。 110).aspx – ilansch

+1

我認爲你應該嘗試找出問題的根本原因。爲什麼你的程序在關閉表單時不能關閉?你有一個無處循環的地方有引用'Application.DoEvents()'? –

+0

@StevenLiekens表單不關閉,因爲他取消了關閉流程? – ilansch

回答

0

e.Cancel=true將阻止關閉您的形式,因此將其刪除。

如果仍然不行,試試這個: 使用Application.Exit()方法上FormClosed事件,而不是FormClosing

要做到這一點,進入表單設計器窗口:按少校+ F7或右擊然後點擊Form designer(類似的東西)

右鍵單擊您的表單,選擇Properties,顯示事件,然後雙擊表單關閉事件,設計師將自動註冊該事件並生成你的代碼。

你應該有這樣的事情,而不產生的Application.Exit()方法:

private void Form1_FormClosed(object sender, FormClosingEventArgs e) 
{      
    Application.Exit();   
} 
+0

我在哪裏粘貼這種方法? – user3360977

+0

@ user3360977:我編輯我的答案,看看是否有幫助 – Shide

+0

並且順便說一句,在「e.cancel =真正的」防止您的形式從關閉 – Shide

0

e.Cancel = true;指從關閉停止形式。這是你的代碼的主要問題。

,如果你有一個確認像你應該使用這個參數,「你確定要關閉?」如果用戶選擇「否」,則將e.Cancel設置爲true

只需刪除該代碼(或設置取消爲false)和你的形式將關閉,如果這是你的應用程序中的最後一個,它將結束。

因此,對於你的問題的最終解決方案是一個簡單的

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{      
}