關鍵字:C# MessageBox 消息對話框
在程序中,我們經常使用消息對話框給用戶一定的信息提示,如在操作過程中遇到錯誤或程序異常,經常會使用這種方式給用於以提示。在C#中,MessageBox消息對話框位於System.Windows.Forms命名空間中,一般情況,一個消息對話框包含信息提示文字內容、消息對話框的標題文字、用戶響應的按鈕及信息圖標等內容。C#中允許開發人員根據自己的需要設置相應的內容,創建符合自己要求的信息對話框。
MessageBox消息對話框只提供了一個方法Show(),用來把消息對話框顯示出來。此方法提供了不同的重載版本,用來根據自己的需要設置不同風格的消息對話框。此方法的返回類型為DialogResult枚舉類型,包含用戶在此消息對話框中所做的操作(點擊了什么按鈕),其可能的枚舉值有以下幾種:
成員名稱 | 說明 |
AbortRetryIgnore | 在消息框對話框中提供“中止”、“重試”和“忽略”三個按鈕 |
OK | 在消息框對話框中提供“確定”按鈕 |
OKCancel | 在消息框對話框中提供“確定”和“取消”兩個按鈕 |
RetryCancel | 在消息框對話框中提供“重試”和“取消”兩個按鈕 |
YesNo | 在消息框對話框中提供“是”和“否”兩個按鈕 |
YesNoCancel | 在消息框對話框中提供“是”、“否”和“取消”三個按鈕 |
開發人員可以根據這些返回值判斷接下來要做的事情。
在Show方法的參數中使用MessageBoxButtons來設置消息對話框要顯示的按鈕的個人及內容,此參數也是一個枚舉值,其成員如下表所示:
成員名稱 | 說明 |
AbortRetryIgnore | 在消息框對話框中提供“中止”、“重試”和“忽略”三個按鈕 |
OK | 在消息框對話框中提供“確定”按鈕 |
OKCancel | 在消息框對話框中提供“確定”和“取消”兩個按鈕 |
RetryCancel | 在消息框對話框中提供“重試”和“取消”兩個按鈕 |
YesNo | 在消息框對話框中提供“是”和“否”兩個按鈕 |
YesNoCancel | 在消息框對話框中提供“是”、“否”和“取消”三個按鈕 |
在設計中,可以指定上表中的任何一個枚舉值所提供的按鈕,單擊任何一個按鈕都會對應DialogResult中的一個值。
在Show方法中使用MessageBoxIcon枚舉類型定義顯示在消息框中的圖標類型,其可能的取值和形式如下表:
成員名稱 | 圖標形式 | 說明 |
Asterisk | ![]() |
圓圈中有一個字母i組成的提示符號圖標 |
Error | ![]() |
紅色圓圈中有白色X所組成的錯誤警告圖標 |
Exclamation | ![]() |
黃色三角中有一個!所組成的符號圖標 |
Hand | ![]() |
紅色圓圈中有一個白色X所組成的圖標符號 |
Information | ![]() |
信息提示符號 |
None | 沒有任何圖標 | |
Question | ![]() |
由圓圈中一個問號組成的符號圖標 |
Stop | ![]() |
背景為紅色圓圈中有白色X組成的符號 |
Warning | ![]() |
由背景為黃色的三角形中有個!組成的符號圖標 |
除上面的參數之外,還有一個MessageBoxDefaultButton枚舉類型的參數,指定消息對話框的默認按鈕。
下面是一個運用消息對話框的例子:
新建一個Windows應用程序,並從工具箱當中拖拽到窗口里一個按鈕,把按鈕和窗口的Text屬性修改為“測試消息對話框”,雙擊該按鈕,添加如下代碼:
DialogResult dr; dr=MessageBox.Show("測試一下消息對話框!","測試測試",MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning,MessageBoxDefaultButton.Button1); if(dr==DialogResult.Yes) MessageBox.Show("你選擇的為“是”按鈕","系統提示1"); else if(dr==DialogResult.No) MessageBox.Show("你選擇的為“否”按鈕","系統提示2"); else if(dr == DialogResult.Cancel) MessageBox.Show("你選擇的為“取消”按鈕","系統提示3"); else MessageBox.Show("你沒有進行任何的操作!","系統提示4");
系統運行后,將出現如下界面:
單擊按鈕“測試消息對話框”,將出現如下消息對話框:
分別單擊三個按鈕,將出現如下三種情況:
原文地址:http://www.biye5u.com/article/Csharp/winform/2011/5124.html