Compartilhar via


WindowsFormsApplicationBase.DoEvents Método

Definição

Processa todas as mensagens do 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 seja TextBox1 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 manipulados. 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á repinta se outra janela for arrastada por cima.

Se você chamar My.Application.DoEvents em seu código, seu aplicativo poderá manipular os outros eventos. Por exemplo, se o código adicionar dados a um ListBox em um loop e, após cada etapa do loop, ele chamará My.Application.DoEvents, seu formulário será repinto quando outra janela for arrastada sobre ele. Se você remover My.Application.DoEvents do código, o formulário não será repinto até que o manipulador de eventos de clique do botão termine de ser executado.

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

Observação

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

Cuidado

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 processa mensagens do My.Application.DoEvents Windows e as mensagens do Windows podem gerar eventos.

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

Para Consulte
Permitir que um formulário responda à entrada da interface do usuário enquanto estiver ocupado Instruções passo a passo: tratando eventos

Disponibilidade por tipo de projeto

Tipo de projeto Disponível
Aplicativo do Windows Forms Sim
Biblioteca de Classes Não
Aplicativo do Console Não
Biblioteca de Controle Windows Forms Não
Biblioteca de Controles da Web Não
Serviço do Windows Não
Site Não

Aplica-se a

Confira também