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

C#でのメッセージボックスの使い方|ボタンとアイコンの種類やオプションを解説

 
C#でのメッセージボックスの使い方|ボタンとアイコンの種類やオプションを解説
SE
C#でのメッセージボックスを表示させたいのですが、どうすればいいですか。
PM
それでは、モードレスのメッセージボックスも併せて解説しましょう。

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


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

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

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

C#でのメッセージボックスの基本的な使い方

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

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

実行すると、アイコンは赤丸に白い「X」マークが表示されます。
「OK」ボタンと「キャンセル」ボタンが表示されます。ボタンをクリックすると、メッセージボックスが閉じます。

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

C#でのメッセージボックスのボタンの種類6つ

C#のMessageBoxクラスのShowメソッドによりメッセージボックスを表示出来ることを紹介しました。

メッセージボックスに表示するボタンの組み合わせは引数にMessageBoxButtons列挙型で指定します。ここでは6通りのボタン配置の指定方法を紹介します。

1:OK

「OK」ボタンのみを表示する方法です。以下のコードの通り、「MessageBoxButtons.OK」を指定します。

2:OKCancel

C#でメッセージボックスに「OK」及び「キャンセル」ボタンを表示する方法です。以下のコードの通り、「MessageBoxButtons.OKCancel」を指定します。

3:YesNo

C#でメッセージボックスに「はい」及び「いいえ」ボタンを表示する方法です。以下のコードの通り、「MessageBoxButtons.YesNo」を指定します。

4:YesNoCancel

C#でメッセージボックスに「はい」及び「いいえ」ボタン及び「キャンセル」ボタンを表示する方法です。以下のコードの通り、「MessageBoxButtons.YesNoCancel」を指定します。

5:AbortRetryIgnore

C#でメッセージボックスに「中止」及び「再試行」ボタン及び「無視」ボタンを表示する方法です。以下のコードの通り、「MessageBoxButtons.AbortRetryIgnore」を指定します。

6:RetryCancel

C#でメッセージボックスに「再試行」ボタン及び「キャンセル」ボタンを表示する方法です。以下のコードの通り、「MessageBoxButtons.RetryCancel」を指定します。

C#でのメッセージボックスのアイコンの種類5つ

C#で表示するメッセージボックスにメッセージの種別を表すアイコンを表示する方法を紹介します。

引数にMessageBoxIcon列挙型で指定します。

9通りの設定値を紹介しますが、アイコンは4種類ですので、同じアイコンのものは同じ項目で合わせて紹介します。

1:Error,Hand,Stop

C#のメッセージボックスに表示するアイコンを、上から順にError, Hand, Stopで指定したコードです。いずれも赤丸に白い「X」マークのアイコンが表示されます。表示するボタンは例として「MessageBoxButtons.AbortRetryIgnore」としていますが、実際の処理内容に合わせて指定してください。

2:Information,Asterisk

C#のメッセージボックスに表示するアイコンを上から順にInformation, Asteriskで指定したコードです。いずれも青丸に白い「i」マークのアイコンが表示されます。表示するボタンは例として「MessageBoxButtons.OK」としていますが、実際の処理内容に合わせて指定してください。

3:Question

C#のメッセージボックスに表示するアイコンをQuestionで指定したコードです。青丸に白い「?」マークのアイコンが表示されます。表示するボタンは例として「MessageBoxButtons.YesNoCancel」としていますが、実際の処理内容に合わせて指定してください。

4:Warning,Exclamation

C#のメッセージボックスに表示するアイコンをWarning及びExclamationで指定したコードです。いずれも黄色い三角に黒い「!」マークのアイコンが表示されます。表示するボタンは例として「MessageBoxButtons.YesNo」としていますが、実際の処理内容に合わせて指定してください。

5:None

C#のメッセージボックスに表示するアイコンをNoneで指定したコードです。アイコンは表示されません。表示するボタンは例として「MessageBoxButtons.OK」としていますが、実際の処理内容に合わせて指定してください。

C#でのメッセージボックスの戻り値

「C#でのメッセージボックスの基本的な使い方」では戻り値としてDialogResult列挙型を使った分岐例を挙げました。戻り値として「DialogResult.None」~「DialogResult.No」(0 ~ 7)が定義されており、紹介した全てのボタンに対応できます。戻り値を一覧にして紹介します。

C#でのメッセージボックスのオプション3つ

C#のメッセージボックスは、引数にオーナーウィンドウのフォームやMessageBoxOptions列挙型でメッセージボックスの表示方法を記述することで指定できます。

1:サービスからのメッセージボックスの表示

C#のメッセージボックスはサービスからの表示を以下のコードのように「MessageBoxOptions.ServiceNotification」で指定できますが、MessageBoxOptionsはMessageBoxDefaultButtonを指定しないと使用できません。

MessageBoxDefaultButtonはデフォルトとして選択されるボタンの指定です。コードでは例として2番目のボタン「MessageBoxDefaultButton2」を指定しています。

2:文字を右揃えにして表示

C#のメッセージボックスは表示テキストの右揃えを以下のコードのように「MessageBoxOptions.RightAlign」で指定できますが、MessageBoxOptionsですのでMessageBoxDefaultButtonを指定しないと使用できません。

3:オーナーウィンドウの指定

C#のメッセージボックスでは、以下のコードのように先頭の引数でWindowを指定し、その前面にメッセージボックスを表示します。

このコードではメインウィンドウを「this」で指定しています。

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Search

Popular

reccomended

Categories

Tags