WindowsFormsApplicationBase.DoEvents Método

Definição

Processa todas as mensagens Windows atualmente na fila de mensagens.

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

Exemplos

Este exemplo usa o My.Application.DoEvents método para permitir que a interface do usuário TextBox1 seja atualizada.

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

Esse código deve estar em um formulário que tenha um TextBox1 componente com uma Text propriedade.

Comentários

O My.Application.DoEvents método permite que seu aplicativo manipule outros eventos que podem ser gerados durante a execução do código. O My.Application.DoEvents método tem o mesmo comportamento que o DoEvents método.

Quando você executa um aplicativo Windows Forms, ele cria um novo formulário, que aguarda que os eventos sejam tratados. Cada vez que o formulário manipula um evento, como um clique de botão, ele processa todo o código associado a esse evento. Todos os outros eventos esperam na fila. Embora seu código manipule o evento, seu aplicativo não responde. Por exemplo, a janela não será reintada se outra janela for arrastada por cima.

Se você chamar My.Application.DoEvents seu código, seu aplicativo poderá lidar com os outros eventos. Por exemplo, se o código adicionar dados a um ListBox loop e, após cada etapa do loop que ele chama My.Application.DoEvents, seu formulário será reintizado quando outra janela é arrastada sobre ele. Se você remover My.Application.DoEvents do código, o formulário não será reintado até que o manipulador de eventos de clique do botão seja concluído.

Normalmente, você usa esse método em um loop para processar mensagens.

Note

O My.Application.DoEvents método não processa eventos exatamente da mesma maneira que o formulário. Use o multithreading para fazer com que o formulário lide diretamente com os eventos. Para obter mais informações, veja Usando threads e threading.

Caution

Se um método que manipula um evento de interface do usuário chamar o My.Application.DoEvents método, o método poderá ser inserido novamente antes de ser concluído. Isso pode acontecer porque o método My.Application.DoEvents processa mensagens Windows e mensagens Windows podem gerar eventos.

A tabela a seguir lista um exemplo de uma tarefa que envolve o My.Application.DoEvents método.

Para Veja
Permitir que um formulário responda à entrada da interface do usuário enquanto estiver ocupado Passo a passo: manipulando eventos

Disponibilidade por tipo de projeto

Tipo de projeto Available
Aplicativo do Windows Forms Yes
Biblioteca de Classes No
Aplicativo de console No
Biblioteca de controle do Windows Forms No
Biblioteca de Controles da Web No
Serviço do Windows No
Site da web No

Aplica-se a

Confira também