.net column

.NET開発者のためのブログメディア

C#でのメッセージボックスの使い方の紹介|メッセージボックスを正しく使いこなそう!

2020年10月29日
SE
C#でのメッセージボックスを表示させたいのですが、どうすればいいですか。
PM
それでは、モードレスのメッセージボックスも併せて解説しましょう。

C#でのメッセージボックスの使い方


今回は、C#でのメッセージボックスの使い方について説明します。

 

メッセージボックスの基本的な使い方、ボタンの種類、アイコンの種類について紹介します。また、モードレスのメッセージボックスについても紹介します。

 

C#でのメッセージボックスの使い方に興味のある方はぜひご覧ください。

基本的な使い方

C#のメッセージボックスの基本的な使い方を紹介します。

 

実際のソースコードを見てみましょう。

 

実行すると、アイコンは赤丸に白いXマークが表示されます。

 

「OK」ボタンと「キャンセル」ボタンが表示されます。ボタンをクリックすると、メッセージボックスが閉じます。

 

また、ボタンの選択結果を取得できます。

// ボタンの選択結果を取得
if (result == DialogResult.Abort)
{
//「中止」が選択された時
System.Console.WriteLine(“”「中止」が選択されました””);
}
else if (result == DialogResult.Retry)
{
//「再試行」が選択された時
System.Console.WriteLine(“”「再試行」が選択されました””);
}
else if (result == DialogResult.Ignore)
{
//「無視」が選択された時
System.Console.WriteLine(“”「無視」が選択されました””);
}

ボタンの種類

C#における、メッセージボックスのボタンの種類について紹介します。

 

実際のソースコードを見てみましょう。

 

namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
Button button1, button2, button3, button4, button5, button6;
public Form1()
{
this.AutoSize = true;
this.Load += Form1_Load;
}

private void Form1_Load(object sender, EventArgs e)
{
// OK
button1 = new Button();
button1.Location = new Point(10, 10);
button1.Text = “”OK””;
button1.AutoSize = true;
button1.Click += Button1_Click;
this.Controls.Add(button1);

// OKCancel
button2 = new Button();
button2.Location = new Point(10, 40);
button2.Text = “”OKCancel””;
button2.AutoSize = true;
button2.Click += Button2_Click;
this.Controls.Add(button2);

// AbortRetryIgnore
button3 = new Button();
button3.Location = new Point(10, 70);
button3.Text = “”AbortRetryIgnore””;
button3.AutoSize = true;
button3.Click += Button3_Click;
this.Controls.Add(button3);

// YesNoCancel
button4 = new Button();
button4.Location = new Point(10, 100);
button4.Text = “”YesNoCancel””;
button4.AutoSize = true;
button4.Click += Button4_Click;
this.Controls.Add(button4);

// YesNo
button5 = new Button();
button5.Location = new Point(10, 130);
button5.Text = “”YesNo””;
button5.AutoSize = true;
button5.Click += Button5_Click;
this.Controls.Add(button5);

// RetryCancel
button6 = new Button();
button6.Location = new Point(10, 160);
button6.Text = “”RetryCancel””;
button6.AutoSize = true;
button6.Click += Button6_Click;
this.Controls.Add(button6);
}

private void Button1_Click(object sender, EventArgs e)
{
// メッセージボックスの表示
DialogResult result = MessageBox.Show(“”メッセージ””,
“”タイトル””,
MessageBoxButtons.OK,
MessageBoxIcon.None);
}
private void Button2_Click(object sender, EventArgs e)
{
// メッセージボックスの表示
DialogResult result = MessageBox.Show(“”メッセージ””,
“”タイトル””,
MessageBoxButtons.OKCancel,
MessageBoxIcon.None);
}

private void Button3_Click(object sender, EventArgs e)
{
// メッセージボックスの表示
DialogResult result = MessageBox.Show(“”メッセージ””,
“”タイトル””,
MessageBoxButtons.AbortRetryIgnore,
MessageBoxIcon.None);
}

private void Button4_Click(object sender, EventArgs e)
{
// メッセージボックスの表示
DialogResult result = MessageBox.Show(“”メッセージ””,
“”タイトル””,
MessageBoxButtons.YesNoCancel,
MessageBoxIcon.None);
}

private void Button5_Click(object sender, EventArgs e)
{
// メッセージボックスの表示
DialogResult result = MessageBox.Show(“”メッセージ””,
“”タイトル””,
MessageBoxButtons.YesNo,
MessageBoxIcon.None);
}

private void Button6_Click(object sender, EventArgs e)
{
// メッセージボックスの表示
DialogResult result = MessageBox.Show(“”メッセージ””,
“”タイトル””,
MessageBoxButtons.RetryCancel,
MessageBoxIcon.None);
}
}
}

C#では、MessageBoxButtons列挙体のメンバ名によって、表示されるボタンが異なります。

アイコンの種類

C#における、メッセージボックスのアイコンの種類について紹介します。

 

実際のソースコードを見てみましょう。

 

namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
Button button1, button2, button3, button4, button5;
public Form1()
{
this.AutoSize = true;
this.Load += Form1_Load;
}

private void Form1_Load(object sender, EventArgs e)
{
// None
button1 = new Button();
button1.Location = new Point(10, 10);
button1.Text = “”None””;
button1.AutoSize = true;
button1.Click += Button1_Click;
this.Controls.Add(button1);

// Hand
button2 = new Button();
button2.Location = new Point(10, 40);
button2.Text = “”Hand””;
button2.AutoSize = true;
button2.Click += Button2_Click;
this.Controls.Add(button2);

// Question
button3 = new Button();
button3.Location = new Point(10, 70);
button3.Text = “”Question””;
button3.AutoSize = true;
button3.Click += Button3_Click;
this.Controls.Add(button3);

// Exclamation
button4 = new Button();
button4.Location = new Point(10, 100);
button4.Text = “”Exclamation””;
button4.AutoSize = true;
button4.Click += Button4_Click;
this.Controls.Add(button4);

// Asterisk
button5 = new Button();
button5.Location = new Point(10, 130);
button5.Text = “”Asterisk””;
button5.AutoSize = true;
button5.Click += Button5_Click;
this.Controls.Add(button5);
}

private void Button1_Click(object sender, EventArgs e)
{
// メッセージボックスの表示
DialogResult result = MessageBox.Show(“”メッセージ””,
“”タイトル””,
MessageBoxButtons.OK,
MessageBoxIcon.None);
}
private void Button2_Click(object sender, EventArgs e)
{
// メッセージボックスの表示
DialogResult result = MessageBox.Show(“”メッセージ””,
“”タイトル””,
MessageBoxButtons.OK,
MessageBoxIcon.Hand);
}

private void Button3_Click(object sender, EventArgs e)
{
// メッセージボックスの表示
DialogResult result = MessageBox.Show(“”メッセージ””,
“”タイトル””,
MessageBoxButtons.OK,
MessageBoxIcon.Question);
}

private void Button4_Click(object sender, EventArgs e)
{
// メッセージボックスの表示
DialogResult result = MessageBox.Show(“”メッセージ””,
“”タイトル””,
MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}

private void Button5_Click(object sender, EventArgs e)
{
// メッセージボックスの表示
DialogResult result = MessageBox.Show(“”メッセージ””,
“”タイトル””,
MessageBoxButtons.OK,
MessageBoxIcon.Asterisk);
}
}
}

C#では、MessageBoxIcon列挙体のメンバ名によって、表示されるアイコンが異なります。

モードレスのメッセージボックス

C#で、モードレスなメッセージボックスを表示する方法を紹介します。

 

通常、メッセージボックスはモーダルウィンドウで表示されます。メッセージボックスを閉じなければ、親ウィンドウの操作ができません。モードレスのメッセージボックスにするには、スレッド化します。

 

実際のソースコードを見てみましょう。

 

using System.Threading;を先頭に記載してください。

{
MessageBox.Show(“”メッセージ””,
“”タイトル””,
MessageBoxButtons.OK,
MessageBoxIcon.Hand);
})).Start();

実行すると、モードレスなメッセージボックスが表示されることが分かります。

 

このように、C#でモードレスなメッセージボックスを表示できます。

SE
ボタンやアイコンも変えられるのですね。
PM
そうですね。メッセージボックスをモードレスにする方法もあわせて、ご自身でコードを書いて、理解を深めてください。

C#でのメッセージボックスを正しく使いこなそう

いかがでしたでしょうか。C#でのメッセージボックスの使い方について説明しました。

 

メッセージボックスの基本的な使い方、ボタンの種類、アイコンの種類について紹介しましたが、メッセージボックスをモードレスにすることも可能です。

 

ぜひご自身でソースコードを書いて、理解を深めてください。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)