Jak otworzyć pole komunikatu (WPF .NET)
Okno dialogowe to okno dialogowe, które służy do szybkiego wyświetlania informacji i opcjonalnie umożliwia użytkownikom podejmowanie decyzji. Dostęp do pola komunikatu jest dostarczany przez klasę MessageBox . Zostanie wyświetlone modalnie okno komunikatu. Kod wyświetlający okno komunikatu jest wstrzymany, dopóki użytkownik nie zamknie pola komunikatu za pomocą przycisku zamknięcia lub przycisku odpowiedzi.
Poniższa ilustracja przedstawia części pola komunikatu:
- Pasek tytułu z podpisem (1).
- Przycisk zamknięcia (2).
- Ikona (3).
- Komunikat wyświetlany użytkownikowi (4).
- Przyciski odpowiedzi (5).
W przypadku prezentowania lub zbierania złożonych danych okno dialogowe może być bardziej odpowiednie niż okno dialogowe. Aby uzyskać więcej informacji, zobacz Omówienie okien dialogowych.
Wyświetlanie okna komunikatu
Aby utworzyć pole komunikatu MessageBox , należy użyć klasy . Metoda MessageBox.Show umożliwia skonfigurowanie tekstu pola komunikatu, tytułu, ikony i przycisków pokazanych w następującym kodzie:
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)
Przeciążenia MessageBox.Show metody zapewniają sposoby konfigurowania pola komunikatu. Dostępne są następujące opcje:
- Podpis paska tytułu
- Ikona wiadomości
- Tekst wiadomości
- Przyciski odpowiedzi
Poniżej przedstawiono kilka przykładów użycia pola komunikatu.
Wyświetlanie alertu.
MessageBox.Show("Unable to save file, try again.");
MessageBox.Show("Unable to save file, try again.")
Poprzedni kod wyświetla pole komunikatu podobne do poniższego obrazu:
Dobrym pomysłem jest użycie opcji udostępnianych przez klasę pola komunikatów. Używając tego samego alertu co poprzednio, ustaw więcej opcji, aby uczynić go bardziej atrakcyjnym wizualnie:
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)
Poprzedni kod wyświetla pole komunikatu podobne do poniższego obrazu:
Wyświetl ostrzeżenie.
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)
Poprzedni kod wyświetla pole komunikatu podobne do poniższego obrazu:
Zadaj użytkownikowi pytanie.
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
Poprzedni kod wyświetla pole komunikatu podobne do poniższego obrazu:
Obsługa odpowiedzi w polu komunikatu
Metoda MessageBox.Show wyświetla pole komunikatu i zwraca wynik. Wynik wskazuje, jak użytkownik zamknął okno komunikatu:
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
Gdy użytkownik naciśnie przyciski w dolnej części pola komunikatu, zostanie zwrócony odpowiedni MessageBoxResult . Jeśli jednak użytkownik naciśnie ESC lub naciśnie przycisk Zamknij (#2 na ilustracji pola komunikatu), wynik pola komunikatu różni się w zależności od opcji przycisku:
Opcje przycisków | Wynik przycisku ESC lub Zamknij |
---|---|
OK |
OK |
OKCancel |
Cancel |
YesNo |
Skrót klawiaturowy ESC i wyłączony przycisk Zamknij . Użytkownik musi nacisnąć przycisk Tak lub Nie. |
YesNoCancel |
Cancel |
Aby uzyskać więcej informacji na temat korzystania z pól komunikatów, zobacz MessageBox i przykład MessageBox.
Zobacz też
.NET Desktop feedback