WindowsForm

[C#] MessageBox(メッセージボックス)を表示する

2022年11月28日

C#のWindowsFormsで
MessageBox(メッセージボックス)を表示するサンプルです。

構文

MessageBoxの構文は以下の通りです。

構文

DialogResult <押されたボタン> = MessageBox.Show(
 <メッセージ>,
 [<タイトル>],
 [<ボタン種類(MessageBoxButtons)>],
 [<アイコン(MessageBoxIcon)>],
 [<初期選択ボタン(MessageBoxDefaultButton)>]
);

MessageBoxは System.Windows.Formsのクラスです。

<メッセージ>以外は省略可能です。

各種パラメータ

MessageBoxで指定できる各種パラメータ一覧です。

【System.Windows.Forms.DialogResult】
値 意味
DialogResult.OK 「OK」ボタン
DialogResult.Cancel 「キャンセル」ボタン
DialogResult.Yes 「はい」ボタン
DialogResult.No 「いいえ」ボタン
DialogResult.Abort 「中止」ボタン
DialogResult.Retry 「再試行」ボタン
DialogResult.Ignore 「無視」ボタン
【System.Windows.Forms.MessageBoxButtons】
値 意味
MessageBoxButtons.OK 「OK」ボタンのみ
MessageBoxButtons.OKCancel 「OK」「キャンセル」ボタン
MessageBoxButtons.YesNo 「はい」「いいえ」ボタン
MessageBoxButtons.YesNoCancel 「はい」「いいえ」「キャンセル」ボタン
MessageBoxButtons.RetryCancel 「再試行」「キャンセル」ボタン
MessageBoxButtons.AbortRetryIgnore 「中止」「再試行」「無視」ボタン
【System.Windows.Forms.MessageBoxIcon】
値 意味
MessageBoxIcon.None (アイコン無し)
MessageBoxIcon.Asterisk
MessageBoxIcon.Information
MessageBoxIcon.Information
MessageBoxIcon.Question MessageBoxIcon.Question
MessageBoxIcon.Exclamation
MessageBoxIcon.Warning
MessageBoxIcon.Warning
MessageBoxIcon.Hand
MessageBoxIcon.Stop
MessageBoxIcon.Error
MessageBoxIcon.Hand
【System.Windows.Forms.MessageBoxDefaultButton】
値 意味
MessageBoxDefaultButton.Button1 1番目のボタン
MessageBoxDefaultButton.Button2 2番目のボタン
MessageBoxDefaultButton.Button3 3番目のボタン

サンプル

例1)OKボタンのみのMessageBoxを表示する


using System.Windows.Forms;

// OKボタンのみのMessageBoxを表示する
MessageBox.Show(
  "実行できません。",
  "エラー",
  MessageBoxButtons.OK,
  MessageBoxIcon.Hand
);

(表示例)
MessageBox(OK)

例2)OK/CancelボタンのMessageBoxを表示する


using System.Windows.Forms;

// OK/CancelボタンのMessageBoxを表示する
DialogResult result = MessageBox.Show(
  "実行します。よろしいですか?",
  "確認",
  MessageBoxButtons.OKCancel,
  MessageBoxIcon.Question,
  MessageBoxDefaultButton.Button1
);

(表示例)
MessageBox(OkCancel)

例3)Yes/NoボタンのMessageBoxを表示する


using System.Windows.Forms;

// Yes/NoボタンのMessageBoxを表示する
DialogResult result = MessageBox.Show(
  "実行します。よろしいですか?",
  "確認",
  MessageBoxButtons.YesNo,
  MessageBoxIcon.Question,
  MessageBoxDefaultButton.Button2
);

(表示例)
MessageBox(YesNo)

例4)Yes/No/CancelボタンのMessageBoxを表示する


using System.Windows.Forms;

// Yes/No/CancelボタンのMessageBoxを表示する
DialogResult result = MessageBox.Show(
  "実行します。よろしいですか?",
  "確認",
  MessageBoxButtons.YesNoCancel,
  MessageBoxIcon.Asterisk,
  MessageBoxDefaultButton.Button1
);

(表示例)
MessageBox(YesNoCancel)

例5)再試行/キャンセルボタンのMessageBoxを表示する


using System.Windows.Forms;

// 再試行/キャンセルボタンのMessageBoxを表示する
DialogResult result = MessageBox.Show(
  "応答がありません。再試行しますか?",
  "確認",
  MessageBoxButtons.RetryCancel,
  MessageBoxIcon.Exclamation,
  MessageBoxDefaultButton.Button1
);

(表示例)
MessageBox(RetryCancel)

例6)中止/再試行/無視ボタンのMessageBoxを表示する


using System.Windows.Forms;

// 中止/再試行/無視ボタンのMessageBoxを表示する
DialogResult result = MessageBox.Show(
  "応答がありません。再試行しますか?",
  "確認",
  MessageBoxButtons.AbortRetryIgnore,
  MessageBoxIcon.Exclamation,
  MessageBoxDefaultButton.Button3
);

(表示例)
MessageBox(AbortRetryIgnore)

押されたボタンの判定サンプル

押されたボタンにより処理を分岐するには以下のようにできます。

例)OKボタンのみのMessageBoxを表示する


using System.Windows.Forms;

// OK/CancelボタンのMessageBoxを表示する
DialogResult result = MessageBox.Show(
  "実行します。よろしいですか?",
  "確認",
  MessageBoxButtons.OKCancel,
  MessageBoxIcon.Question,
  MessageBoxDefaultButton.Button1
);

// 押されたボタンにより処理を分岐する
if(result == DialogResult.ok)
{
  // OKボタンが押された時の処理
}
else if(result == DialogResult.Cancel)
{
  // キャンセルボタンが押された時の処理
}

備考

  • メッセージボックスはユーザーにメッセージを伝えたり、ユーザに判断を求めたい場合に使用します。

-WindowsForm