如何透過標準功能關閉WinForm視窗以及應用程序
exitToolStripMenuItem_Click:當用戶點擊我介面上面的TOOL中的離開按鈕,會執行此功能。
Form1_FormClosing:當用戶點擊視窗上面右上角的離開,會執行此功能。
exitToolStripMenuItem_Click會去呼叫Form1_FormClosing 並跳出視窗,問你是否要關閉如Fig1.
情境一
按壓後如果你點選否的話,會將視窗關閉功能取消掉,回到尚未關閉前。
=>e.Cancel = true; 直接取消Close功能。
情境二
按壓後如果你點選是的話,會將此Form進行關閉。接著會直接觸發Form1_FormClosed,在這個功能內你可以撰寫關閉後要處理那些事件,在這邊我呼叫了Application.ExitThread( ); 因為你要關閉的不只是Form你要關閉的是整個應用程序。執行完後整個應用程序就會被關閉。

程式碼範例
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
while (MessageBox.Show("Exit Application?", "", MessageBoxButtons.YesNo) == DialogResult.Yes)
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Close();
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
Application.ExitThread( );
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
while (MessageBox.Show("Exit Application?", "", MessageBoxButtons.YesNo) == DialogResult.No)
{
e.Cancel = true;
}
}

該如何添加事件到視窗內?
- 回到設計頁面,並點選事件。
- 單擊Form1_FormClosing,會自動產生事件到程式碼中。
- 單擊Form1_FormClosed,會自動產生事件到程式碼中。
