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

ArgumentException

5

Prompt no es una expresión String o Title no es válido.

InvalidOperationException

5

El proceso no se está ejecutando en modo interactivo de usuario.

InvalidEnumArgumentException

5

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)

Vea también

Referencia

InputBox (Función, Visual Basic)