Dela via


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 bild som visar delarna i en meddelanderuta för WPF.

  • 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:

    En enkel meddelanderuta för WPF som inte har några konfigurerade alternativ.

    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:

    En varningsruta för WPF som har en ikon, bildtext och text.

  • 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:

    En enkel meddelanderuta för WPF som visar en varningsikon.

  • 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:

    En enkel meddelanderuta för WPF som uppmanar användaren med en ja- eller nej-fråga.

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