C#で複数のボタンを持つメッセージボックスを表示するコードを紹介します。
概要
こちらの記事では、メッセージを表示するダイアログ、メッセージボックスのコードを紹介しました。
メッセージを表示する場合、アラートを表示する場合は確認ボタンのみを表示するUIで問題ありませんが、
アクションの実行確認をする場合はメッセージボックス内に複数のボタンを表示したい場合があります。
この記事では、ウィンドウ内に複数のボタンを表示するメッセージボックスのコードを紹介します。
シンプルなメッセージダイアログボックス
メッセージを表示し、[はい],[いいえ]ボタンを持つメッセージボックスを表示するコードです。
MessageBox.Show()メソッドのMessageBoxButtons引数にMessageBoxButtons.YesNoを指定します。
コード
private void button2_Click(object sender, EventArgs e)
{
DialogResult dr = MessageBox.Show("本当によろしいですか?","確認",MessageBoxButtons.YesNo);
if (dr == System.Windows.Forms.DialogResult.Yes) {
MessageBox.Show("Yesを押しました。");
}
else if (dr == System.Windows.Forms.DialogResult.No) {
MessageBox.Show("Noを押しました。");
}
else {
MessageBox.Show("Yes,No以外の動作");
}
}
実行結果
[はい],[いいえ]ボタンを持つメッセージダイアログボックスが表示できます。
ボタンをクリックするとそれぞれのボタンの押下を取得できます。
OK, キャンセルボタンを持つメッセージダイアログボックス
[OK]ボタンと[キャンセル]ボタンを持つメッセージダイアログボックスを表示します。
MessageBox.Show()メソッドのMessageBoxButtons引数にMessageBoxButtons.OKCancelを指定します。
コード
private void button3_Click(object sender, EventArgs e)
{
DialogResult dr = MessageBox.Show("本当によろしいですか?", "確認", MessageBoxButtons.OKCancel);
if (dr == System.Windows.Forms.DialogResult.OK) {
MessageBox.Show("OKを押しました。");
}
else if (dr == System.Windows.Forms.DialogResult.Cancel) {
MessageBox.Show("Cancelを押しました。");
}
else {
MessageBox.Show("OK,Cancel以外の動作");
}
}
実行結果
再試行, キャンセルボタンを持つメッセージダイアログボックス
MessageBox.Show()メソッドのMessageBoxButtons引数にMessageBoxButtons.RetryCancelを指定します。
コード
private void button7_Click(object sender, EventArgs e)
{
DialogResult dr = MessageBox.Show("処理に失敗しました。",
"メッセージ", MessageBoxButtons.RetryCancel);
if (dr == System.Windows.Forms.DialogResult.Yes) {
MessageBox.Show("Retryを押しました。");
}
else if (dr == System.Windows.Forms.DialogResult.Cancel) {
MessageBox.Show("Cancelを押しました。");
}
else {
MessageBox.Show("それ以外の動作");
}
}
実行結果
はい, いいえ, キャンセルボタンを持つメッセージダイアログボックス
MessageBox.Show()メソッドのMessageBoxButtons引数にMessageBoxButtons.YesNoCancelを指定します。
コード
private void button6_Click(object sender, EventArgs e)
{
DialogResult dr = MessageBox.Show("ファイルが既に存在します。上書きしてよろしいですか。",
"メッセージ", MessageBoxButtons.YesNoCancel);
if (dr == System.Windows.Forms.DialogResult.Yes) {
MessageBox.Show("Yesを押しました。");
}
else if (dr == System.Windows.Forms.DialogResult.No) {
MessageBox.Show("Noを押しました。");
}
else if (dr == System.Windows.Forms.DialogResult.Cancel) {
MessageBox.Show("Cancelを押しました。");
}
else {
MessageBox.Show("それ以外の動作");
}
}
実行結果
中止, 再試行, 無視ボタンを持つメッセージダイアログボックス
MessageBox.Show()メソッドのMessageBoxButtons引数にMessageBoxButtons.AbortRetryIgnoreを指定します。
コード
private void button5_Click(object sender, EventArgs e)
{
DialogResult dr = MessageBox.Show("書き込み権限がありません。",
"メッセージ", MessageBoxButtons.AbortRetryIgnore);
if (dr == System.Windows.Forms.DialogResult.Abort) {
MessageBox.Show("Abortを押しました。");
}
else if (dr == System.Windows.Forms.DialogResult.Retry) {
MessageBox.Show("Retryを押しました。");
}
else if (dr == System.Windows.Forms.DialogResult.Ignore) {
MessageBox.Show("Ignoreを押しました。");
}
else {
MessageBox.Show("それ以外の動作");
}
}
実行結果
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2024-01-07
作成日: 2011-10-14