Jak otevřít okno se zprávou (WPF .NET)
Okno se zprávou je dialogové okno, které slouží k rychlému zobrazení informací a volitelně umožňuje uživatelům rozhodovat se. Třída poskytuje MessageBox přístup k poli zprávy. Okno se zprávou se zobrazí modálně. A kód, který zobrazí okno se zprávou, se pozastaví, dokud uživatel nezavře okno se zprávou buď pomocí tlačítka Zavřít, nebo tlačítka odpovědi.
Následující obrázek znázorňuje části pole se zprávou:
- Záhlaví s titulkem (1).
- Tlačítko zavřít (2).
- Ikona (3).
- Zpráva zobrazená uživateli (4).
- Tlačítka odpovědí (5).
Pro prezentaci nebo shromažďování složitých dat může být dialogové okno vhodnější než pole se zprávou. Další informace najdete v tématu Přehled dialogových oken.
Zobrazení okna se zprávou
Pokud chcete vytvořit okno se zprávou, použijte MessageBox třídu. Tato MessageBox.Show metoda umožňuje nakonfigurovat text pole se zprávou, název, ikonu a tlačítka zobrazená v následujícím kódu:
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)
Přetížení MessageBox.Show metody poskytují způsoby konfigurace pole zprávy. K těmto možnostem patří:
- Titulek záhlaví
- Ikona zprávy
- Text zprávy
- Tlačítka odpovědí
Tady je několik dalších příkladů použití pole se zprávou.
Zobrazení výstrahy
MessageBox.Show("Unable to save file, try again.");
MessageBox.Show("Unable to save file, try again.")
Předchozí kód zobrazí pole se zprávou jako na následujícím obrázku:
Je vhodné použít možnosti poskytované třídou pole se zprávou. Když použijete stejnou výstrahu jako předtím, nastavte další možnosti, aby byla vizuálně přitažlivější:
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)
Předchozí kód zobrazí pole se zprávou jako na následujícím obrázku:
Zobrazí upozornění.
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)
Předchozí kód zobrazí pole se zprávou jako na následujícím obrázku:
Položte uživateli otázku.
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
Předchozí kód zobrazí pole se zprávou jako na následujícím obrázku:
Zpracování odpovědi pole se zprávou
Metoda MessageBox.Show zobrazí okno se zprávou a vrátí výsledek. Výsledek označuje, jak uživatel zavřel okno se zprávou:
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
Když uživatel stiskne tlačítka v dolní části pole zprávy, vrátí se odpovídající MessageBoxResult . Pokud ale uživatel stiskne klávesu ESC nebo stiskne tlačítko Zavřít (#2 na obrázku pole se zprávou), výsledek pole zprávy se liší podle možností tlačítka:
Možnosti tlačítek | Výsledek tlačítka ESC nebo Zavřít |
---|---|
OK |
OK |
OKCancel |
Cancel |
YesNo |
Klávesová zkratka ESC a zakázané tlačítko Zavřít Uživatel musí stisknout ano nebo ne. |
YesNoCancel |
Cancel |
Další informace o používání polí zpráv naleznete MessageBox v ukázce MessageBox.
Viz také
.NET Desktop feedback