我用Visual Studio(C#)編寫了一個簡單的程序。當我關閉程序(點擊Х)時,表單被關閉,但過程依然存在。我不得不從任務管理器關閉它。如何關閉C#進程?
什麼命令關閉過程? 我的代碼:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
}
我用Visual Studio(C#)編寫了一個簡單的程序。當我關閉程序(點擊Х)時,表單被關閉,但過程依然存在。我不得不從任務管理器關閉它。如何關閉C#進程?
什麼命令關閉過程? 我的代碼:
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
}
的e.Cancel=true
將阻止關閉您的形式,因此將其刪除。
如果仍然不行,試試這個: 使用Application.Exit()
方法上FormClosed
事件,而不是FormClosing
:
要做到這一點,進入表單設計器窗口:按少校+ F7或右擊然後點擊Form designer
(類似的東西)
右鍵單擊您的表單,選擇Properties
,顯示事件,然後雙擊表單關閉事件,設計師將自動註冊該事件並生成你的代碼。
你應該有這樣的事情,而不產生的Application.Exit()
方法:
private void Form1_FormClosed(object sender, FormClosingEventArgs e)
{
Application.Exit();
}
我在哪裏粘貼這種方法? – user3360977
@ user3360977:我編輯我的答案,看看是否有幫助 – Shide
並且順便說一句,在「e.cancel =真正的」防止您的形式從關閉 – Shide
e.Cancel = true;
指從關閉停止形式。這是你的代碼的主要問題。
,如果你有一個確認像你應該使用這個參數,「你確定要關閉?」如果用戶選擇「否」,則將e.Cancel
設置爲true
。
只需刪除該代碼(或設置取消爲false)和你的形式將關閉,如果這是你的應用程序中的最後一個,它將結束。
因此,對於你的問題的最終解決方案是一個簡單的
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
}
http://msdn.microsoft.com/en-us/library/system.windows.forms.application.exit(v=vs。 110).aspx – ilansch
我認爲你應該嘗試找出問題的根本原因。爲什麼你的程序在關閉表單時不能關閉?你有一個無處循環的地方有引用'Application.DoEvents()'? –
@StevenLiekens表單不關閉,因爲他取消了關閉流程? – ilansch