Öffnen eines Meldungsfelds (WPF .NET)
Ein Meldungsfeld ist ein Dialogfeld, mit dem Textinformationen angezeigt werden können und mit dem Benutzer mithilfe von Schaltflächen Entscheidungen treffen können. Der Zugriff auf das Nachrichtenfeld 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 veranschaulicht die Teile eines Meldungsfelds:
- Eine Titelleiste mit einer Beschriftung (1).
- Eine Schaltfläche zum Schließen (2).
- Symbol (3).
- Meldung, die dem Benutzer angezeigt wird (4).
- Antwortschaltflächen (5).
Zum Darstellen oder Sammeln komplexer Daten ist ein Dialogfeld möglicherweise besser geeignet als ein Meldungsfeld. Weitere Informationen finden Sie unter Übersicht über Dialogfelder.
Ein Meinungsfeld anzeigen
Um ein Meldungsfeld zu erstellen, 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. Die Optionen umfassen:
- Titelleiste Beschriftung
- Symbol-Nachricht
- Meldungstext
- Antwort Schaltflächen
Im Folgenden finden Sie einige weitere Beispiele für die Verwendung eines Meldungsfelds.
Anzeigen einer Warnung
MessageBox.Show("Unable to save file, try again.");
MessageBox.Show("Unable to save file, try again.")
Im vorherigen Code wird ein Meldungsfeld wie in der folgenden Abbildung angezeigt:
Es ist eine gute Idee, die von der Nachrichtenfeldklasse bereitgestellten Optionen zu verwenden. Legen Sie mit der gleichen Warnung wie zuvor 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 in der folgenden Abbildung angezeigt:
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 in der folgenden Abbildung angezeigt:
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 in der folgenden Abbildung angezeigt:
Behandeln einer Meldungsfeldantwort
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 das entsprechende MessageBoxResult zurückgegeben. Wenn der Benutzer jedoch die ESC-TASTE drückt oder die Schaltfläche Schließen (#2 in der Meldungsfelddarstellung) drückt, variiert das Ergebnis des Nachrichtenfelds je nach den Schaltflächenoptionen:
Schaltflächenoptionen | ESC- oder Schaltflächenergebnis schließen |
---|---|
OK |
OK |
OKCancel |
Cancel |
YesNo |
ESC-Tastenkombination und Schaltfläche Schließen deaktiviert. Der Benutzer muss Ja oder Nein drücken. |
YesNoCancel |
Cancel |
Weitere Informationen zur Verwendung von Nachrichtenfeldern finden Sie im MessageBoxBeispiel MessageBox.
Siehe auch
.NET Desktop feedback