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