Come aprire una finestra di messaggio (WPF .NET)
Una finestra di messaggio è una finestra di dialogo usata per visualizzare rapidamente le informazioni e, facoltativamente, consentire agli utenti di prendere decisioni. L'accesso alla finestra di messaggio viene fornito dalla MessageBox classe . Viene visualizzata una finestra di messaggio in modalità modally. E il codice che visualizza la finestra di messaggio viene sospeso fino a quando l'utente non chiude la finestra di messaggio con il pulsante di chiusura o un pulsante di risposta.
La figura seguente illustra le parti di una finestra di messaggio:
- Barra del titolo con didascalia (1).
- Pulsante di chiusura (2).
- Icona (3).
- Messaggio visualizzato all'utente (4).
- Pulsanti di risposta (5).
Per la presentazione o la raccolta di dati complessi, una finestra di dialogo potrebbe essere più adatta rispetto a una finestra di messaggio. Per altre informazioni, vedere Panoramica delle finestre di dialogo.
Visualizzare una finestra di messaggio
Per creare una finestra di messaggio, usare la MessageBox classe . Il MessageBox.Show metodo consente di configurare il testo, il titolo, l'icona e i pulsanti della finestra di messaggio, come illustrato nel codice seguente:
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)
Gli overload del MessageBox.Show metodo consentono di configurare la finestra di messaggio. Tali opzioni includono:
- Didascalia della barra del titolo
- Icona messaggio
- Testo del messaggio
- Pulsanti di risposta
Di seguito sono riportati altri esempi di utilizzo di una finestra di messaggio.
Visualizzare un avviso.
MessageBox.Show("Unable to save file, try again.");
MessageBox.Show("Unable to save file, try again.")
Il codice precedente visualizza una finestra di messaggio simile all'immagine seguente:
È consigliabile usare le opzioni fornite dalla classe della finestra di messaggio. Usando lo stesso avviso di prima, impostare più opzioni per renderlo più accattivante:
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)
Il codice precedente visualizza una finestra di messaggio simile all'immagine seguente:
Visualizzare un avviso.
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)
Il codice precedente visualizza una finestra di messaggio simile all'immagine seguente:
Porre all'utente una domanda.
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
Il codice precedente visualizza una finestra di messaggio simile all'immagine seguente:
Gestire una risposta a una finestra di messaggio
Il MessageBox.Show metodo visualizza la finestra di messaggio e restituisce un risultato. Il risultato indica come l'utente ha chiuso la finestra di messaggio:
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
Quando un utente preme i pulsanti nella parte inferiore della finestra di messaggio, viene restituito il corrispondente MessageBoxResult . Tuttavia, se l'utente preme il tasto ESC o preme il pulsante Chiudi (2 nella illustrazione della finestra di messaggio), il risultato della finestra di messaggio varia in base alle opzioni del pulsante:
Opzioni dei pulsanti | Risultato del pulsante ESC o Chiudi |
---|---|
OK |
OK |
OKCancel |
Cancel |
YesNo |
Tasto di scelta rapida ESC e pulsante Chiudi disabilitato. L'utente deve premere Sì o No. |
YesNoCancel |
Cancel |
Per altre informazioni sull'uso delle finestre di messaggio, vedere MessageBox e l'esempio MessageBox.
Vedi anche
.NET Desktop feedback