一、調用窗體FormClosing事件
二、在事件方法中編寫提示代碼
1、調用窗體FormClosing事件
//窗體的Closing事件,窗體關閉之前引發此事件
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.memberFormClosing);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.memberFormClosing);
2、在事件方法中編寫提示代碼
///
<summary>
/// 窗體關閉時引發的方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"> FormClosingEventArgs類型參數,提供FormClosing事件的資料 </param>
private void memberFormClosing( object sender, FormClosingEventArgs e)
{
// 得到消息框中單擊按鈕后返回的的值(實際是作為一個DialogResult枚舉返回,它標識哪些按鈕被單擊)
DialogResult key = MessageBox.Show(
" Are you sure want to quit " ,
" confim " ,
MessageBoxButtons.YesNo,
MessageBoxIcon.Question
);
// 判斷窗體是否要關閉
e.Cancel = (key == DialogResult.No);
}
說明:
/// 窗體關閉時引發的方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"> FormClosingEventArgs類型參數,提供FormClosing事件的資料 </param>
private void memberFormClosing( object sender, FormClosingEventArgs e)
{
// 得到消息框中單擊按鈕后返回的的值(實際是作為一個DialogResult枚舉返回,它標識哪些按鈕被單擊)
DialogResult key = MessageBox.Show(
" Are you sure want to quit " ,
" confim " ,
MessageBoxButtons.YesNo,
MessageBoxIcon.Question
);
// 判斷窗體是否要關閉
e.Cancel = (key == DialogResult.No);
}
此方法作用是顯示一個消息框,要求用戶確定它們是否退出應用程序。消息框包含「是」和「否」這兩個按鈕及一個問號
其中:
FormClosingEventArgs:提供FormClosing事件的資料。
DialogResult:指定識別項以指示對話方塊的傳回值。 其成員有:
成員名稱 | 說明 |
Abort | 對話方塊傳回值是 Abort (通常由標記為 [中止] 的按鈕傳回)。 |
Cancel | 對話方塊傳回值是 Cancel (通常由標記為 [取消] 的按鈕傳回)。 |
Ignore | 對話方塊傳回值是 Ignore (通常由標記為 [忽略] 的按鈕傳回)。 |
No | 對話方塊傳回值是 No (通常由標記為 [否] 的按鈕傳回)。 |
None | 對話方塊傳回 Nothing。這表示強制回應 (Modal) 對話方塊繼續執行。 |
OK | 對話方塊的傳回值是 OK (通常由標記為 [確定] 的按鈕傳回)。 |
Retry | 對話方塊傳回值是 Retry (通常由標記為 [重試] 的按鈕傳回)。 |
Yes | 對話方塊傳回值是 Yes (通常由標記為 [是] 的按鈕傳回)。 |
MessageBox :顯示可以包含文字、按鈕和通知與指示使用者的符號的訊息方塊。
其參數有:
MessageBox.Show (
IWin32Window owner,
string text,
string caption,
MessageBoxButtons buttons,
MessageBoxIcon icon,
MessageBoxDefaultButton defaultButton,
MessageBoxOptions options,
string helpFilePath,
HelpNavigator navigator,
Object param
)
IWin32Window owner,
string text,
string caption,
MessageBoxButtons buttons,
MessageBoxIcon icon,
MessageBoxDefaultButton defaultButton,
MessageBoxOptions options,
string helpFilePath,
HelpNavigator navigator,
Object param
)
參數說明:
owner :IWin32Window 實作,將擁有強制回應對話方塊。
text :要顯示在訊息方塊中的文字。
caption :要顯示在訊息方塊標題列中的文字。
buttons :其中一個 MessageBoxButtons 值,指定要在訊息方塊中顯示哪些按鈕。
icon :其中一個 MessageBoxIcon 值,指定那個圖示要顯示在訊息方塊中。
defaultButton :其中一個 MessageBoxDefaultButton 值,指定訊息方塊的預設按鈕。
options :其中一個 MessageBoxOptions 值,指定訊息方塊使用的顯示及關聯的選項。如果要使用預設值,可以傳遞 0 。
helpFilePath :使用者按一下 [說明] 按鈕時所顯示說明檔的路徑和名稱。
navigator :其中一個 HelpNavigator 值。
param :當使用者按下 [說明] 按鈕時要顯示之說明主題的數字 ID。
傳回值 :其中一個 DialogResult 值。
text :要顯示在訊息方塊中的文字。
caption :要顯示在訊息方塊標題列中的文字。
buttons :其中一個 MessageBoxButtons 值,指定要在訊息方塊中顯示哪些按鈕。
icon :其中一個 MessageBoxIcon 值,指定那個圖示要顯示在訊息方塊中。
defaultButton :其中一個 MessageBoxDefaultButton 值,指定訊息方塊的預設按鈕。
options :其中一個 MessageBoxOptions 值,指定訊息方塊使用的顯示及關聯的選項。如果要使用預設值,可以傳遞 0 。
helpFilePath :使用者按一下 [說明] 按鈕時所顯示說明檔的路徑和名稱。
navigator :其中一個 HelpNavigator 值。
param :當使用者按下 [說明] 按鈕時要顯示之說明主題的數字 ID。
傳回值 :其中一個 DialogResult 值。
DialogResult key = MessageBox.Show(...)方法:是得到消息框中單擊按鈕后返回的的值(實際是作為一個DialogResult枚舉返回,它標識哪些按鈕被單擊)
e.Cancel = (key == DialogResult.No):判斷窗體是否要關閉
Cancel 意思為:是否取消該事件,為True時,窗體就不會關閉。為False(默認值)時,那麼事件結束時,窗體就會關閉