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]ボタンと[キャンセル]ボタンを持つメッセージダイアログボックスを表示します。
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("それ以外の動作");
}
}