【C#入門】メッセージボックスをWPFで使う方法

こんにちは!フリーランスの長野です。

メッセージボックスって使ってますか?

メッセージボックスはGUIでユーザーに注意や選択を促す場合に使います。

WPFでもメッセージボックスを使うことができます。

ちなみにWPFとはHTMLに似た感覚で外観デザインを開発することができるGUI開発ライブラリのことです。

この記事では、WPFのメッセージボックスについて

・メッセージボックスとは
・MessageBox.Showの使い方
・MessageBox.Showの戻り値

といった基本的な内容から、

・アイコンの設定

など実用的な使い方についても解説していきます。

今回はWPFのメッセージボックスについて、使い方をわかりやすく解説します。

メッセージボックスとは

メッセージボックスは、エラーメッセージを表示したり、ユーザーに確認や選択を求める時などに使用します。

c#_msgBox01

MessageBox.Showの使い方

まずはWPFの使い方ですが、こちらで詳しく解説していますので参考にしてください。

【C#入門】WPFでGUIを作る方法(DataGrid、ComboBox、ListBoxなど)
更新日 : 2019年4月8日

メッセージボックスを使うには、MessageBoxクラスのShowメソッドを使います。

Showメソッドの第1引数に表示するメッセージを指定し、実行するとメッセージボックスが現れメッセージとOKボタンが表示されます。

実行結果:
c#_msgBox01

ちなみにShowメソッドの第2引数に指定した文字列がメッセージの左上に表示されます。

メッセージ文字列を改行する方法

メッセージボックスに表示するメッセージを改行して表示する方法についてみていきましょう。

メッセージ文字列中の改行したい場所に「\n」を挿入します。

実行結果:
c#_msgBox02

「\n」の代わりに「\r」でも改行されます。

また、Environment.NewLineを使って

としても、改行されます。

ボタンの設定

これまでの例では「OK」ボタンのみ表示され、操作することができました。

メッセージボックスでは「OK」ボタン以外にもボタンを表示、操作することができます。

「はい」「いいえ」「キャンセル」「中止」ボタンなどを指定することができます。

設定はShowメソッドの第3引数でMessageBoxButton列挙体のメンバを指定します。

MessageBoxButton列挙体のメンバサンプル例
OKc#_msgBox03
OKCancelc#_msgBox04
YesNoc#_msgBox05
YesNoCancelc#_msgBox06

それでは、MessageBoxButton列挙体のメンバYesNoCancelを指定する例をみていきましょう。

実行結果:
c#_msgBox06

MessageBox.Showの戻り値

先ほどは数種類のボタンを配置する方法についてみてきました。

では、それぞれのボタンを押して処理を変える方法についてみていきましょう。

どのボタンが押されたか取得するためにはShowメソッドの戻り値を使います。

Showメソッドの戻り値はMessageBoxResult列挙型のメンバーで返されます。

MessageBoxResult列挙型のメンバー説明
Cancel「キャンセル」ボタンを選択
No「いいえ」ボタンを選択
None結果を返さない
OK「OK」ボタンを選択
Yes「はい」ボタンを選択

それでは、「はい」「いいえ」「キャンセル」ボタンを選択する場合について、サンプルコードで確認しましょう。

アイコンの設定

メッセージボックスにビックリマークなどのアイコンを表示することができます。

Showメソッドの第4引数にMessageBoxImage列挙体のメンバを選択して指定します。

MessageBoxImage列挙体のメンバを表にまとめました。

MessageBoxImage列挙体のメンバサンプル例
Asteriskc#_msgBox07
Errorc#_msgBox08
Exclamationc#_msgBox09
Handc#_msgBox08
Informationc#_msgBox07
Nonec#_msgBox06
Questionc#_msgBox10
Stopc#_msgBox08
Warningc#_msgBox09

それではサンプルコードで確認しましょう。

実行結果:
c#_msgBox09

まとめ

ここではメッセージボックスについて説明しました。

メッセージボックスはユーザに注意や選択を促す場合に使います。

使いこなすことができるように、この記事を何度も参考にして下さいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

長野 透

長野 透

熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。
お問合せはこちらでも受け付けています。
[email protected]

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説