Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
- 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:
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:
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:
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:
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 Sí 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
.NET Desktop feedback