Compartir a través de


Cómo abrir un cuadro de mensaje

Un cuadro de mensaje es un cuadro de diálogo que se usa para mostrar rápidamente información y, opcionalmente, permite a los usuarios tomar decisiones. El acceso al cuadro de mensaje se proporciona mediante la clase MessageBox. Se muestra un cuadro de mensaje de forma modal. Y el código que muestra el cuadro de mensaje se pausa hasta que el usuario cierra el cuadro de mensaje, ya sea con el botón Cerrar o un botón de respuesta.

En la ilustración siguiente se muestran las partes de un cuadro de mensaje:

Ilustración que muestra las partes de un cuadro de mensaje para WPF.

  • Barra de título con una etiqueta (1).
  • El botón de cerrar (2).
  • Icono (3).
  • Mensaje que se muestra al usuario (4).
  • Botones de respuesta (5).

Para presentar o recopilar datos complejos, un cuadro de diálogo puede ser más adecuado que un cuadro de mensaje. Para obtener más información, vea Información general sobre los cuadros de diálogo.

Mostrar un cuadro de mensaje

Para crear un cuadro de mensaje, use la MessageBox clase . El MessageBox.Show método permite configurar el texto, el título, el icono y los botones del cuadro de mensaje, que se muestran en el código siguiente:

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)

Las MessageBox.Show sobrecargas del método proporcionan formas de configurar el cuadro de mensaje. Entre estas opciones se incluyen:

  • Título de barra caption
  • Icono de mensaje
  • Texto del mensaje
  • Botones de respuesta

Estos son algunos ejemplos más de uso de un cuadro de mensaje.

  • Mostrar una alerta.

    MessageBox.Show("Unable to save file, try again.");
    
    MessageBox.Show("Unable to save file, try again.")
    

    El código anterior muestra un cuadro de mensaje como la siguiente imagen:

    Cuadro de mensaje simple para WPF que no tiene opciones configuradas.

    Es recomendable usar las opciones proporcionadas por la clase de cuadro de mensaje. Con la misma alerta que antes, establezca más opciones para que sea más atractiva visualmente:

    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)
    

    El código anterior muestra un cuadro de mensaje como la siguiente imagen:

    Cuadro de mensaje de advertencia para WPF que tiene un icono, un título y un texto.

  • Muestra una advertencia.

    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)
    

    El código anterior muestra un cuadro de mensaje como la siguiente imagen:

    Cuadro de mensaje sencillo para WPF que tiene un icono de advertencia.

  • Pregunte al usuario una pregunta.

    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
    

    El código anterior muestra un cuadro de mensaje como la siguiente imagen:

    Un cuadro de mensaje sencillo para WPF que solicita al usuario una pregunta sí o ninguna pregunta.

Gestionar la respuesta de un cuadro de mensaje

El MessageBox.Show método muestra el cuadro de mensaje y devuelve un resultado. El resultado indica cómo cerró el usuario el cuadro de mensaje:

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

Cuando un usuario presiona los botones en la parte inferior del cuadro de mensaje, se devuelve el correspondiente MessageBoxResult . Sin embargo, si el usuario presiona la tecla ESC o presiona el botón Cerrar (#2 en la ilustración del cuadro de mensaje), el resultado del cuadro de mensaje varía en función de las opciones del botón:

Opciones de botón Resultado del botón ESC o Cerrar
OK OK
OKCancel Cancel
YesNo Atajo de teclado ESC y botón Cerrar deshabilitados. El usuario debe presionar o No.
YesNoCancel Cancel

Para obtener más información sobre el uso de cuadros de mensaje, vea MessageBox y el ejemplo de MessageBox.

Consulte también