WindowsFormsApplicationBase.DoEvents Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 | Sí |
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 |