Så här öppnar du en meddelanderuta (WPF .NET)
En meddelanderuta är en dialogruta som används för att snabbt visa information och, om användarna vill, fatta beslut. Åtkomst till meddelanderutan tillhandahålls av klassen MessageBox. En meddelanderuta visas modally. Och koden som visar meddelanderutan pausas tills användaren stänger meddelanderutan antingen med knappen Stäng eller en svarsknapp.
Följande bild visar delarna i en meddelanderuta:
- En titelrad med en bildtext (1).
- En stängningsknapp (2).
- Ikon (3).
- Meddelande som visas för användaren (4).
- Svarsknappar (5).
För att presentera eller samla in komplexa data kan en dialogruta vara lämpligare än en meddelanderuta. Mer information finns i översikten över dialogrutor.
Visa en meddelanderuta
Om du vill skapa en meddelanderuta använder du klassen MessageBox. Med metoden MessageBox.Show kan du konfigurera text, rubrik, ikon och knappar i meddelanderutan, som visas i följande kod:
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)
Med MessageBox.Show metodöverlagringar erbjuds du olika sätt att konfigurera meddelanderutan. Dessa alternativ omfattar:
- Rubrikfält bildtext
- Meddelande ikon
- Meddelande text
- Svarsknappar
Här följer några fler exempel på hur du använder en meddelanderuta.
Visa en avisering.
MessageBox.Show("Unable to save file, try again.");
MessageBox.Show("Unable to save file, try again.")
Föregående kod visar en meddelanderuta som liknar följande bild:
Det är en bra idé att använda de alternativ som tillhandahålls av klassen message box. Använd samma avisering som tidigare och ange fler alternativ för att göra den mer visuellt tilltalande:
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)
Föregående kod visar en meddelanderuta som liknar följande bild:
Visa en varning.
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)
Föregående kod visar en meddelanderuta som liknar följande bild:
Ställ en fråga till användaren.
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
Föregående kod visar en meddelanderuta som liknar följande bild:
Hantera ett meddelanderutesvar
Metoden MessageBox.Show visar meddelanderutan och returnerar ett resultat. Resultatet visar hur användaren stängde meddelanderutan:
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
När en användare trycker på knapparna längst ned i meddelanderutan returneras motsvarande MessageBoxResult. Men om användaren trycker på ESC- eller trycker på knappen Stäng (#2 i bild av meddelanderutan) varierar resultatet av meddelanderutan beroende på knappalternativen:
Knappalternativ | ESC- eller Stäng knapp resultat |
---|---|
OK |
OK |
OKCancel |
Cancel |
YesNo |
ESC-kortkommando och Stäng-knappen inaktiverad. Användaren måste trycka på Ja eller Nej. |
YesNoCancel |
Cancel |
Mer information om hur du använder meddelanderutor finns i MessageBox och MessageBox-exempel.
Se även
.NET Desktop feedback