C# 窗體關閉時提示是否關閉

來源:互聯網
上載者:User
方法:
    一、調用窗體FormClosing事件
    二、在事件方法中編寫提示代碼

1、調用窗體FormClosing事件

        //窗體的Closing事件,窗體關閉之前引發此事件
        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);            
        }

說明:
    此方法作用是顯示一個訊息框,要求用戶確定它們是否退出應用程式。訊息框包含「是」和「否」這兩個按鈕及一個問號
    其中:
        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
)

        參數說明: owner         :IWin32Window 實作,將擁有強制回應對話方塊。
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(默認值)時,那麼事件結束時,窗體就會關閉

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.