Freigeben über


Öffnen eines Meldungsfelds

Ein Meldungsfeld ist ein Dialogfeld, das verwendet wird, um Informationen schnell anzuzeigen und benutzern optional entscheidungen zu ermöglichen. Der Zugriff auf das Meldungsfeld wird von der MessageBox Klasse bereitgestellt. Ein Meldungsfeld wird modal angezeigt. Und der Code, der das Meldungsfeld anzeigt, wird angehalten, bis der Benutzer das Meldungsfeld entweder mit der Schaltfläche "Schließen" oder einer Antwortschaltfläche schließt.

Die folgende Abbildung zeigt die Teile eines Meldungsfelds:

Eine Abbildung, die die Teile eines Meldungsfelds für WPF zeigt.

  • Eine Titelleiste mit einer Beschriftung (1).
  • Eine Schaltfläche "Schließen" (2).
  • Symbol (3).
  • Meldung, die dem Benutzer angezeigt wird (4).
  • Antwortschaltflächen (5).

Für die Darstellung oder Das Sammeln komplexer Daten ist ein Dialogfeld möglicherweise besser geeignet als ein Meldungsfeld. Weitere Informationen finden Sie in der Übersicht über Dialogfelder.

Anzeigen eines Meldungsfelds

Zum Erstellen eines Meldungsfelds verwenden Sie die MessageBox Klasse. Mit der MessageBox.Show Methode können Sie den Nachrichtenfeldtext, den Titel, das Symbol und die Schaltflächen konfigurieren, die im folgenden Code angezeigt werden:

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)

Die MessageBox.Show Methodenüberladungen bieten Möglichkeiten zum Konfigurieren des Meldungsfelds. Zu diesen Optionen gehören:

  • Titelbeschriftung
  • Symbol "Nachricht"
  • Nachrichtentext
  • Antwortschaltflächen

Hier sind einige weitere Beispiele für die Verwendung eines Meldungsfelds.

  • Anzeigen einer Benachrichtigung.

    MessageBox.Show("Unable to save file, try again.");
    
    MessageBox.Show("Unable to save file, try again.")
    

    Im vorherigen Code wird ein Meldungsfeld wie die folgende Abbildung angezeigt:

    Ein einfaches Meldungsfeld für WPF, das keine Optionen konfiguriert hat.

    Es ist ratsam, die von der Nachrichtenfeldklasse bereitgestellten Optionen zu verwenden. Wenn Sie dieselbe Warnung wie zuvor verwenden, legen Sie weitere Optionen fest, um sie visuell ansprechender zu gestalten:

    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)
    

    Im vorherigen Code wird ein Meldungsfeld wie die folgende Abbildung angezeigt:

    Ein Warnmeldungsfeld für WPF mit einem Symbol, einer Beschriftung und einem Text.

  • Zeigt eine Warnung an.

    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)
    

    Im vorherigen Code wird ein Meldungsfeld wie die folgende Abbildung angezeigt:

    Ein einfaches Meldungsfeld für WPF, das ein Warnsymbol anzeigt.

  • Stellen Sie dem Benutzer eine Frage.

    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
    

    Im vorherigen Code wird ein Meldungsfeld wie die folgende Abbildung angezeigt:

    Ein einfaches Meldungsfeld für WPF, das den Benutzer mit einer Frage

Behandeln einer Antwort auf ein Meldungsfeld

Die MessageBox.Show Methode zeigt das Meldungsfeld an und gibt ein Ergebnis zurück. Das Ergebnis gibt an, wie der Benutzer das Meldungsfeld geschlossen hat:

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

Wenn ein Benutzer die Schaltflächen am unteren Rand des Meldungsfelds drückt, wird der entsprechende MessageBoxResult Wert zurückgegeben. Wenn der Benutzer jedoch die ESC-Taste drückt oder die Schaltfläche " Schließen " drückt (#2 in der Abbildung des Meldungsfelds), variiert das Ergebnis des Meldungsfelds je nach den Schaltflächenoptionen:

Schaltflächenoptionen ESC oder Schließen-Schaltflächenergebnis
OK OK
OKCancel Cancel
YesNo Deaktivierte ESC-Tastenkombination und deaktivierte Schaltfläche 'Schließen'. Der Benutzer muss "Ja " oder "Nein" drücken.
YesNoCancel Cancel

Weitere Informationen zur Verwendung von Meldungsfeldern finden Sie im MessageBoxMessageBox-Beispiel.

Siehe auch