MessageBox.Show 位於 System.Windows.Forms 命名空間,回傳 DialogResult 列舉值,依使用者點選的按鈕決定後續邏輯。
MessageBox.Show("僅顯示提示訊息!");
MessageBox.Show("顯示提示訊息!", "標題");
// Yes / No / Cancel 三個按鈕
if (MessageBox.Show("顯示提示訊息", "標題", MessageBoxButtons.YesNoCancel) == DialogResult.Yes)
{
// 使用者點選「是」
}
可用按鈕列舉: OK、OKCancel、YesNo、YesNoCancel、RetryCancel、AbortRetryIgnore
MessageBox.Show("訊息", "標題", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
圖示類型: Error、Warning、Information、Question、Exclamation、Hand、Stop、Asterisk
// 第二個按鈕 (Cancel) 為預設焦點
MessageBox.Show("訊息", "標題", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
// 反向閱讀順序 (RTL)
MessageBox.Show("訊息", "標題", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, MessageBoxOptions.RtlReading);
// 標題靠右對齊
MessageBox.Show("訊息", "標題", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2, MessageBoxOptions.RightAlign);
MessageBox.Show(
"訊息內容",
"標題",
MessageBoxButtons.OKCancel,
MessageBoxIcon.Warning,
MessageBoxDefaultButton.Button2,
MessageBoxOptions.RightAlign,
@"d:\help.chm" // 說明檔路徑,點擊說明按鈕開啟
);
| 按鈕組合 | 可能回傳值 |
|---|---|
| OK | OK |
| OKCancel | OK, Cancel |
| YesNo | Yes, No |
| YesNoCancel | Yes, No, Cancel |
| RetryCancel | Retry, Cancel |
| AbortRetryIgnore | Abort, Retry, Ignore |
MessageBoxIcon.Error + OK;確認刪除等危險操作用 Warning + YesNo 或 YesNoCancel。Control.Invoke 或 Dispatcher.Invoke 切回 UI 執行緒,否則會拋出例外或介面凍結。IMessageService 以利 Mock。原文連結:https://www.bianceng.cn/Programming/csharp/201410/45748.htm