メッセージ ボックスは、情報をすばやく表示し、必要に応じてユーザーが意思決定を行えるようにするために使用されるダイアログ ボックスです。 メッセージ ボックスへのアクセスは、 MessageBox クラスによって提供されます。 メッセージ ボックスが モーダルに表示されます。 また、メッセージ ボックスを表示するコードは、ユーザーが閉じるボタンまたは応答ボタンを使用してメッセージ ボックスを閉じるまで一時停止されます。
次の図は、メッセージ ボックスの部分を示しています。
- キャプションが付いたタイトル バー (1)。
- 閉じるボタン (2)。
- アイコン (3)。
- ユーザーに表示されるメッセージ (4)。
- 応答ボタン (5)。
複雑なデータを表示または収集する場合、ダイアログ ボックスはメッセージ ボックスよりも適している場合があります。 詳細については、「 ダイアログ ボックスの概要」を参照してください。
メッセージ ボックスを表示する
メッセージ ボックスを作成するには、MessageBox クラスを使用します。 MessageBox.Showメソッドを使用すると、次のコードに示すように、メッセージ ボックスのテキスト、タイトル、アイコン、およびボタンを構成できます。
string messageBoxText = "Do you want to save changes?";
string caption = "Word Processor";
MessageBoxButton button = MessageBoxButton.YesNoCancel;
MessageBoxImage icon = MessageBoxImage.Warning;
MessageBoxResult result;
result = MessageBox.Show(messageBoxText, caption, button, icon, MessageBoxResult.Yes);
Dim messageBoxText As String = "Do you want to save changes?"
Dim caption As String = "Word Processor"
Dim Button As MessageBoxButton = MessageBoxButton.YesNoCancel
Dim Icon As MessageBoxImage = MessageBoxImage.Warning
Dim result As MessageBoxResult
result = MessageBox.Show(messageBoxText, caption, Button, Icon, MessageBoxResult.Yes)
MessageBox.Show メソッドのオーバーロードは、メッセージ ボックスを構成する方法を提供します。 設定できるオプションは次のとおりです。
- タイトル バー のキャプション
- メッセージ アイコン
- メッセージ テキスト
- 応答のボタン
メッセージ ボックスを使用するその他の例を次に示します。
アラートを表示します。
MessageBox.Show("Unable to save file, try again.");
MessageBox.Show("Unable to save file, try again.")
前のコードでは、次の図のようなメッセージ ボックスが表示されます。
メッセージ ボックス クラスによって提供されるオプションを使用することをお勧めします。 以前と同じアラートを使用して、より視覚的に魅力的になるように、より多くのオプションを設定します。
MessageBox.Show("Unable to save file, try again.", "Save error", MessageBoxButton.OK, MessageBoxImage.Error);
MessageBox.Show("Unable to save file, try again.", "Save error", MessageBoxButton.OK, MessageBoxImage.Error)
前のコードでは、次の図のようなメッセージ ボックスが表示されます。
警告を表示します。
MessageBox.Show("If you close the next window without saving, your changes will be lost.", "Configuration", MessageBoxButton.OK, MessageBoxImage.Warning);
MessageBox.Show("If you close the next window without saving, your changes will be lost.", "Configuration", MessageBoxButton.OK, MessageBoxImage.Warning)
前のコードでは、次の図のようなメッセージ ボックスが表示されます。
ユーザーに質問します。
if (MessageBox.Show("If the file save fails, do you want to automatically try again?", "Save file", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { // Do something here }
If MessageBox.Show("If the file save fails, do you want to automatically try again?", "Save file", MessageBoxButton.YesNo, MessageBoxImage.Question) = MessageBoxResult.Yes Then ' Do something here End If
前のコードでは、次の図のようなメッセージ ボックスが表示されます。
メッセージ ボックスの応答を処理する
MessageBox.Show メソッドは、メッセージ ボックスを表示し、結果を返します。 結果は、ユーザーがメッセージ ボックスを閉じた方法を示します。
result = MessageBox.Show(messageBoxText, caption, button, icon, MessageBoxResult.Yes);
switch (result)
{
case MessageBoxResult.Cancel:
// User pressed Cancel
break;
case MessageBoxResult.Yes:
// User pressed Yes
break;
case MessageBoxResult.No:
// User pressed No
break;
}
result = MessageBox.Show(messageBoxText, caption, Button, Icon, MessageBoxResult.Yes)
Select Case result
Case MessageBoxResult.Cancel
' User pressed Cancel
Case MessageBoxResult.Yes
' User pressed Yes
Case MessageBoxResult.No
' User pressed No
End Select
ユーザーがメッセージ ボックスの下部にあるボタンを押すと、対応する MessageBoxResult が返されます。 ただし、ユーザーが Esc キーを押すか 、閉じる ボタン ( メッセージ ボックスの図の #2) を押すと、メッセージ ボックスの結果はボタンのオプションによって異なります。
ボタン のオプション | ESC または [閉じる] ボタンの結果 |
---|---|
OK |
OK |
OKCancel |
Cancel |
YesNo |
ESC キーボード ショートカットと [閉じる] ボタンが無効になっています。 ユーザーは 、[はい ] または [いいえ] を押す必要があります。 |
YesNoCancel |
Cancel |
メッセージ ボックスの使用方法の詳細については、「 MessageBox と MessageBox サンプル」を参照してください。
こちらも参照ください
.NET Desktop feedback