Comparteix a través de


WindowsFormsApplicationBase.DoEvents Método

Definición

Procesa todos los mensajes de Windows que hay actualmente en la cola de mensajes.

public:
 void DoEvents();
public void DoEvents ();
member this.DoEvents : unit -> unit
Public Sub DoEvents ()

Ejemplos

En este ejemplo se usa el My.Application.DoEvents método para permitir que la interfaz de usuario TextBox1 se actualice.

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

Este código debe estar en un formulario que tenga un TextBox1 componente con una Text propiedad .

Comentarios

El My.Application.DoEvents método permite a la aplicación controlar otros eventos que se pueden generar mientras se ejecuta el código. El My.Application.DoEvents método tiene el mismo comportamiento que el DoEvents método .

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

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

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

Nota

El método My.Application.DoEvents no procesa los eventos exactamente de la misma manera que el formulario. Use multithreading para que el formulario controle directamente los eventos. Para obtener más información, vea Uso de subprocesos y subprocesamiento.

Precaución

Si un método que controla un evento de interfaz de usuario (UI) llama al My.Application.DoEvents método , es posible que el método se vuelva a escribir antes de que finalice. Esto puede ocurrir porque el My.Application.DoEvents método procesa mensajes de Windows y los mensajes de Windows pueden generar eventos.

En la tabla siguiente se muestra un ejemplo de una tarea que implica el My.Application.DoEvents método .

En Vea
Permitir que un formulario responda a la entrada de la interfaz de usuario mientras está ocupado Tutorial: Controlar eventos

Disponibilidad por tipo de proyecto

Tipo de proyecto Disponible
Aplicación de Windows Forms
Biblioteca de clases No
Aplicación de consola No
Biblioteca de controles de Windows Forms No
Biblioteca de controles web No
Servicio de Windows No
Sitio web No

Se aplica a

Consulte también