C# MessageBoxの表示方法|Yes/Noボタンで処理を分岐するサンプル

  • 作成日 2020.10.28
  • 更新日 2026.06.09
  • C#
C# MessageBoxの表示方法|Yes/Noボタンで処理を分岐するサンプル

C#でMessageBoxを表示する方法を解説します。MessageBox.Showを使ってYes/Noボタン、OK/Cancel、Yes/No/Cancelを表示し、DialogResultで押されたボタンごとに処理を分岐するサンプルコードを紹介します。

環境

MessageBox.Show使い方

MessageBox.Showを使用すると、「はい」と「いいえ」が選択できるMessageBoxを表示することが可能です。

MessageBox.Show("msg","タイトル", MessageBoxButtons.YesNo);

その他にも「OK」「キャンセル」や

MessageBox.Show("msg", "タイトル", MessageBoxButtons.OKCancel);

「はい」「いいえ」「キャンセル」や

MessageBox.Show("msg", "タイトル", MessageBoxButtons.YesNoCancel);

「再試行」「キャンセル」

MessageBox.Show("msg", "タイトル", MessageBoxButtons.RetryCancel);

「中止」「再試行」「無視」などもあります。

MessageBox.Show("msg", "タイトル", MessageBoxButtons.AbortRetryIgnore);

サンプルコード

以下は、
「実行」ボタンをクリックするとmessageboxに「はい」と「いいえ」ボタンを表示させ、結果により表示するメッセージボックスを変更する
サンプルコードとなります。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace FormTestApp
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            // メッセージボックスを表示
            DialogResult result = MessageBox.Show("msg", "タイトル", MessageBoxButtons.YesNo);

            if (result == System.Windows.Forms.DialogResult.Yes)
            {
                MessageBox.Show("はい");
            }
            else if (result == System.Windows.Forms.DialogResult.No)
            {
                MessageBox.Show("いいえ");
            }

        }
    }
}

ボタンにより処理が分岐されていることが確認できます。

MessageBox.Showの戻り値はDialogResultで取得できます。

押されたボタンで処理を分岐する

「はい」が押された場合はDialogResult.Yes、「いいえ」が押された場合はDialogResult.Noで判定できます。

DialogResult result = MessageBox.Show(
    "処理を実行しますか?",
    "確認",
    MessageBoxButtons.YesNo
);

if (result == DialogResult.Yes)
{
    MessageBox.Show("はいが選択されました。");
}
else if (result == DialogResult.No)
{
    MessageBox.Show("いいえが選択されました。");
}

MessageBoxでよく使うボタンの種類

MessageBoxでは、Yes/No以外にも複数のボタンパターンを指定できます。

// OKボタンのみ
MessageBox.Show("メッセージ");

// OK / キャンセル
MessageBox.Show("処理を続行しますか?", "確認", MessageBoxButtons.OKCancel);

// はい / いいえ
MessageBox.Show("保存しますか?", "確認", MessageBoxButtons.YesNo);

// はい / いいえ / キャンセル
MessageBox.Show("変更を保存しますか?", "確認", MessageBoxButtons.YesNoCancel);

// 再試行 / キャンセル
MessageBox.Show("再試行しますか?", "確認", MessageBoxButtons.RetryCancel);

アイコン付きのMessageBoxを表示する

確認・警告・エラーなどを分かりやすくする場合は、MessageBoxIconを指定します。

MessageBox.Show(
    "入力内容を確認してください。",
    "警告",
    MessageBoxButtons.OK,
    MessageBoxIcon.Warning
);

エラー表示の場合は、以下のようにMessageBoxIcon.Errorを指定します。

MessageBox.Show(
    "エラーが発生しました。",
    "エラー",
    MessageBoxButtons.OK,
    MessageBoxIcon.Error
);

まとめ

C#でMessageBoxを表示する場合は、MessageBox.Showを使用します。

MessageBoxButtons.YesNoを指定すると「はい」「いいえ」のボタンを表示でき、戻り値のDialogResultを使うことで、ユーザーが押したボタンに応じて処理を分岐できます。