次の方法で共有


メッセージ ボックスを開く方法

メッセージ ボックスは、情報をすばやく表示し、必要に応じてユーザーが意思決定を行えるようにするために使用されるダイアログ ボックスです。 メッセージ ボックスへのアクセスは、 MessageBox クラスによって提供されます。 メッセージ ボックスが モーダルに表示されます。 また、メッセージ ボックスを表示するコードは、ユーザーが閉じるボタンまたは応答ボタンを使用してメッセージ ボックスを閉じるまで一時停止されます。

次の図は、メッセージ ボックスの部分を示しています。

WPF のメッセージ ボックスの部分を示す図。

  • キャプションが付いたタイトル バー (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.")
    

    前のコードでは、次の図のようなメッセージ ボックスが表示されます。

    オプションが構成されていない WPF の単純なメッセージ ボックス。

    メッセージ ボックス クラスによって提供されるオプションを使用することをお勧めします。 以前と同じアラートを使用して、より視覚的に魅力的になるように、より多くのオプションを設定します。

    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)
    

    前のコードでは、次の図のようなメッセージ ボックスが表示されます。

    アイコン、キャプション、テキストを含む WPF の警告メッセージ ボックス。

  • 警告を表示します。

    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)
    

    前のコードでは、次の図のようなメッセージ ボックスが表示されます。

    警告アイコンを表示する WPF の単純なメッセージ ボックス。

  • ユーザーに質問します。

    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

メッセージ ボックスの使用方法の詳細については、「 MessageBoxMessageBox サンプル」を参照してください。

こちらも参照ください