My.Application.DoEvents (Método)

Actualización: noviembre 2007

Procesa todos los mensajes de Windows incluidos en ese momento en la cola de mensajes.


' Usage
My.Application.DoEvents()
' Declaration
Public Sub DoEvents()

El método My.Application.DoEvents permite a su aplicación controlar otros eventos que se podrían provocar mientras se ejecuta el código. El método My.Application.DoEvents tiene el mismo comportamiento que el método DoEvents.

Cuando se ejecuta una aplicación de Windows Forms, ésta crea un nuevo formulario que, a continuación, espera eventos que se deben controlar. Cada vez el formulario controla un evento, como un clic de un botón, procesa todo el código asociado a ese evento. Todos los demás eventos esperan en la cola. Aunque su código controle el evento, su aplicación no responde. Por ejemplo, la ventana no vuelve a dibujarse si se arrastra otra ventana encima de ella.

Si llama a My.Application.DoEvents en su código, su aplicación puede controlar los demás eventos. Por ejemplo, si su código agrega datos a un control ListBox en un bucle y después de cada paso del bucle llama a My.Application.DoEvents, su formulario se vuelve a dibujar cuando se arrastra otra ventana sobre ésta. Si quita My.Application.DoEvents del código, el formulario no se volverá a dibujar hasta que el controlador de eventos del clic del botón termine de ejecutarse.

Normalmente, este método se utiliza en un bucle para procesar los mensajes.

Nota:

El método My.Application.DoEvents no procesa los eventos exactamente de la misma manera que como lo hace el formulario. Utilice el subprocesamiento múltiple para que hacer que el formulario controle directamente los eventos. Para obtener más información, vea Subprocesamiento múltiple en Visual Basic.

Precaución:

Si un método que controla un evento de interfaz de usuario llama al método My.Application.DoEvents, se podría entrar de nuevo en el método antes de finalizar. Esto puede pasar porque el método My.Application.DoEvents procesa los mensajes de Windows, y los mensajes de Windows pueden provocar eventos.

En la tabla siguiente se incluye un ejemplo de una tarea en la que interviene el método My.Application.DoEvents.

Para

Vea

Permitir a un formulario responder a las entradas de interfaz de usuario mientras está ocupado

Tutorial: Controlar eventos

Este ejemplo utiliza el método My.Application.DoEvents para permitir a la interfaz de usuario actualizar TextBox1.

Private Sub TestDoEvents()
    For i As Integer = 0 To 10000
        TextBox1.Text = i.ToString
        My.Application.DoEvents()
    Next
End Sub


Este código debería estar en un formulario que tiene un componente TextBox1 con una propiedad Text.

Espacio de nombres:Microsoft.VisualBasic.ApplicationServices

Clase:WindowsFormsApplicationBase

Ensamblado: biblioteca en tiempo de ejecución de Visual Basic (en Microsoft.VisualBasic.dll)

Disponibilidad por tipo de proyecto

Tipo de proyecto

Disponible

Aplicación para Windows

Biblioteca de clases

No

Aplicación de consola

No

Biblioteca de controles de Windows

No

Biblioteca de controles Web

No

Servicio de Windows

No

Sitio Web

No

Los permisos siguientes pueden ser necesarios:

Permiso

Descripción

FileIOPermission

Controla la capacidad de tener acceso a archivos y carpetas. Enumeración asociada: Unrestricted.

UIPermission

Controla los permisos relacionados con interfaces de usuario y el Portapapeles. Enumeración asociada: AllWindows.

Para obtener más información, vea Seguridad de acceso a código y Solicitar permisos.

Adiciones de comunidad

Mostrar: