MsgBox (Función, Visual Basic)
Actualización: noviembre 2007
Muestra un mensaje en un cuadro de diálogo, espera a que el usuario haga clic en un botón y devuelve un entero que indica el botón utilizado.
Public Function MsgBox( _
ByVal Prompt As Object, _
Optional ByVal Buttons As MsgBoxStyle = MsgBoxStyle.OKOnly, _
Optional ByVal Title As Object = Nothing _
) As MsgBoxResult
Parámetros
Prompt
Obligatorio. Expresión de tipo String que se muestra como mensaje en el cuadro de diálogo. La longitud máxima de Prompt es de aproximadamente 1024 caracteres, según el ancho de los caracteres utilizados. Si Prompt consta de más de una línea, puede separar las líneas mediante un carácter de retorno de carro (Chr(13)), un carácter de avance de línea (Chr(10)) o una combinación de caracteres de retorno de carro/avance de línea (Chr(13) y Chr(10)) entre cada línea.Buttons
Opcional. Expresión numérica que corresponde a la suma de los valores que especifican el número y tipo de botones que se han de mostrar, el estilo de icono que se va a usar, la identificación del botón predeterminado y la modalidad del cuadro de mensaje. Si se omite Buttons, el valor predeterminado será cero.Title
Opcional. Expresión de tipo String que se muestra en la barra de título del cuadro de diálogo. Si se omite Title, en la barra de título aparecerá el nombre de la aplicación.
Valores
En la siguiente tabla se incluyen los valores de enumeración de MsgBoxStyle:
Miembro |
Valor |
Descripción |
---|---|---|
OKOnly |
0 |
Muestra sólo el botón Aceptar. |
OKCancel |
1 |
Muestra los botones Aceptar y Cancelar. |
AbortRetryIgnore |
2 |
Muestra los botones Anular, Reintentar y Omitir. |
YesNoCancel |
3 |
Muestra los botones Sí, No y Cancelar. |
YesNo |
4 |
Muestra los botones Sí y No. |
RetryCancel |
5 |
Muestra los botones Reintentar y Cancelar. |
Critical |
16 |
Muestra el icono Mensaje crítico. |
Question |
32 |
Muestra el icono Consulta de advertencia. |
Exclamation |
48 |
Muestra el icono Mensaje de advertencia. |
Information |
64 |
Muestra el icono Mensaje de información. |
DefaultButton1 |
0 |
El primer botón es el predeterminado. |
DefaultButton2 |
256 |
El segundo botón es el predeterminado. |
DefaultButton3 |
512 |
El tercer botón es el predeterminado. |
ApplicationModal |
0 |
Aplicación modal: el usuario debe responder al cuadro de mensaje antes de continuar trabajando en la aplicación actual. |
SystemModal |
4096 |
Sistema modal: se suspenden todas las aplicaciones hasta que el usuario responda al cuadro de mensaje. |
MsgBoxSetForeground |
65536 |
Especifica la ventana del cuadro de mensaje como ventana de primer plano. |
MsgBoxRight |
524288 |
Texto alineado a la derecha. |
MsgBoxRtlReading |
1048576 |
Especifica que el texto debe aparecer para ser leído de derecha a izquierda en los sistemas árabe y hebreo. |
El primer grupo de valores (0-5) describe el número y tipo de botones mostrados en el cuadro de diálogo. El segundo grupo (16, 32, 48, 64) describe el estilo de icono. El tercer grupo (0, 256, 512) determina qué botón es el valor predeterminado. El cuarto grupo (0, 4096) determina la modalidad del cuadro de mensaje y el quinto grupo especifica si el cuadro de mensaje es la ventana de primer plano, junto con la alineación y la dirección del texto. A la hora de sumar números para crear el valor final del argumento Buttons, se deberá utilizar únicamente un número de cada grupo.
Valor devuelto
Constante |
Valor |
---|---|
OK |
1 |
Cancel |
2 |
Abort |
3 |
Retry |
4 |
Ignore |
5 |
Yes |
6 |
No |
7 |
Excepciones
Tipo de excepción |
Número de error |
Condición |
---|---|---|
Prompt no es una expresión String o Title no es válido. |
||
El proceso no se está ejecutando en modo interactivo de usuario. |
||
Uno o más parámetros no son miembros de la enumeración MsgBoxResult o MsgBoxStyle. |
Consulte la columna "Número de error" si está actualizando aplicaciones de Visual Basic 6.0 que utilizan el control de errores no estructurado. (Se puede comparar el número de error con respecto a Number (Propiedad, objeto Err)). Sin embargo, siempre que sea posible, se debe considerar la sustitución de dicho control de errores por Información general sobre el control estructurado de excepciones de Visual Basic.
Comentarios
Si el cuadro de diálogo muestra un botón Cancelar, presionar la tecla ESC tendrá el mismo efecto que hacer clic en Cancelar. Si el cuadro de diálogo contiene un botón Ayuda, existe ayuda contextual para ese cuadro de diálogo en concreto. Sin embargo, no se devolverá ningún valor hasta que se haga clic en uno de estos botones.
Nota: |
---|
Si desea especificar más que el primer argumento, deberá utilizar la función MsgBox en una expresión. Si omite alguno de los argumentos de posición, deberá conservar el correspondiente delimitador de coma. |
Nota: |
---|
La función MsgBox requiere UIPermission en el nivel SafeTopLevelWindows, lo que puede afectar a su ejecución en situaciones de confianza parcial. Para obtener más información, vea Solicitar permisos y UIPermission. |
Ejemplo
En este ejemplo se utiliza la función MsgBox para mostrar un mensaje de error crítico en un cuadro de diálogo con botones Sí y No. El botón No se considera la respuesta predeterminada. Todo ello se consigue combinando los valores de constante de MsgBox en una expresión numérica. En este caso, si se agrega 4 (la combinación de botones Sí/No) y 16 (la ventana Mensaje crítico) y 256 (el segundo botón como botón predeterminado) se obtiene un total de 276. El valor que devuelve la función MsgBox depende del botón que elija el usuario: Sí devuelve un valor 6; No un valor 7.
Dim msg As String
Dim title As String
Dim style As MsgBoxStyle
Dim response As MsgBoxResult
msg = "Do you want to continue?" ' Define message.
style = MsgBoxStyle.DefaultButton2 Or _
MsgBoxStyle.Critical Or MsgBoxStyle.YesNo
title = "MsgBox Demonstration" ' Define title.
' Display message.
response = MsgBox(msg, style, title)
If response = MsgBoxResult.Yes Then ' User chose Yes.
' Perform some action.
Else
' Perform some other action.
End If
Requisitos
Espacio de nombres:Microsoft.VisualBasic
**Módulo:**Interaction
**Ensamblado:**Visual Basic Runtime Library (en Microsoft.VisualBasic.dll)