こんにちは!フリーランスの長野です。
メッセージボックスって使ってますか?
メッセージボックスはGUIでユーザーに注意や選択を促す場合に使います。
WPFでもメッセージボックスを使うことができます。
ちなみにWPFとはHTMLに似た感覚で外観デザインを開発することができるGUI開発ライブラリのことです。
この記事では、WPFのメッセージボックスについて
・メッセージボックスとは
・MessageBox.Showの使い方
・MessageBox.Showの戻り値
といった基本的な内容から、
・アイコンの設定
など実用的な使い方についても解説していきます。
今回はWPFのメッセージボックスについて、使い方をわかりやすく解説します。
メッセージボックスとは
メッセージボックスは、エラーメッセージを表示したり、ユーザーに確認や選択を求める時などに使用します。
MessageBox.Showの使い方
まずはWPFの使い方ですが、こちらで詳しく解説していますので参考にしてください。
メッセージボックスを使うには、MessageBoxクラスのShowメソッドを使います。
Showメソッドの第1引数に表示するメッセージを指定し、実行するとメッセージボックスが現れメッセージとOKボタンが表示されます。
MessageBox.Show("OKボタンを押して閉じてください");
実行結果:
ちなみにShowメソッドの第2引数に指定した文字列がメッセージの左上に表示されます。
メッセージ文字列を改行する方法
メッセージボックスに表示するメッセージを改行して表示する方法についてみていきましょう。
メッセージ文字列中の改行したい場所に「\n」を挿入します。
MessageBox.Show("OKボタンを押して\n閉じてください");
実行結果:
「\n」の代わりに「\r」でも改行されます。
また、Environment.NewLineを使って
MessageBox.Show("OKボタンを押して” + Environment.NewLine + “閉じてください");
としても、改行されます。
ボタンの設定
これまでの例では「OK」ボタンのみ表示され、操作することができました。
メッセージボックスでは「OK」ボタン以外にもボタンを表示、操作することができます。
「はい」「いいえ」「キャンセル」「中止」ボタンなどを指定することができます。
設定はShowメソッドの第3引数でMessageBoxButton列挙体のメンバを指定します。
MessageBoxButton列挙体のメンバ | サンプル例 |
---|---|
OK | |
OKCancel | |
YesNo | |
YesNoCancel |
それでは、MessageBoxButton列挙体のメンバYesNoCancelを指定する例をみていきましょう。
MessageBox.Show("OKボタンを押して閉じてください", "メッセージボックス", MessageBoxButton.YesNoCancel);
実行結果:
MessageBox.Showの戻り値
先ほどは数種類のボタンを配置する方法についてみてきました。
では、それぞれのボタンを押して処理を変える方法についてみていきましょう。
どのボタンが押されたか取得するためにはShowメソッドの戻り値を使います。
Showメソッドの戻り値はMessageBoxResult列挙型のメンバーで返されます。
MessageBoxResult列挙型のメンバー | 説明 |
---|---|
Cancel | 「キャンセル」ボタンを選択 |
No | 「いいえ」ボタンを選択 |
None | 結果を返さない |
OK | 「OK」ボタンを選択 |
Yes | 「はい」ボタンを選択 |
それでは、「はい」「いいえ」「キャンセル」ボタンを選択する場合について、サンプルコードで確認しましょう。
MessageBoxResult result = MessageBox.Show("OKボタンを押して閉じてください", "メッセージボックス", MessageBoxButton.YesNoCancel); if(result == MessageBoxResult.Yes) { // 「はい」ボタンを押した場合の処理 } else if(result == MessageBoxResult.No) { // 「いいえ」ボタンを押した場合の処理 } else if(result == MessageBoxResult.Cancel) { // 「キャンセル」ボタンを押した場合の処理 } else { // その他の場合の処理 }
アイコンの設定
メッセージボックスにビックリマークなどのアイコンを表示することができます。
Showメソッドの第4引数にMessageBoxImage列挙体のメンバを選択して指定します。
MessageBoxImage列挙体のメンバを表にまとめました。
MessageBoxImage列挙体のメンバ | サンプル例 |
---|---|
Asterisk | |
Error | |
Exclamation | |
Hand | |
Information | |
None | |
Question | |
Stop | |
Warning |
それではサンプルコードで確認しましょう。
MessageBoxResult result = MessageBox.Show("OKボタンを押して閉じてください", "メッセージボックス", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning);
実行結果:
まとめ
ここではメッセージボックスについて説明しました。
メッセージボックスはユーザに注意や選択を促す場合に使います。
使いこなすことができるように、この記事を何度も参考にして下さいね!