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 de utilizador de TextBox1 seja atualizada.

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

Este código deve estar numa forma que tenha um TextBox1 componente com uma Text propriedade.

Observações

O My.Application.DoEvents método permite que a sua aplicação gere outros eventos que possam ser gerados enquanto o código é executado. O My.Application.DoEvents método tem o mesmo comportamento que o DoEvents método.

Quando executa uma aplicação Windows Forms, ela cria um novo formulário, que depois espera que os eventos sejam tratados. Cada vez que o formulário processa um evento, como um clique num botão, processa todo o código associado a esse evento. Todos os outros eventos aguardam na fila. Enquanto o seu código gere o evento, a sua aplicação não responde. Por exemplo, a janela não repinta se outra janela for arrastada por cima.

Se ligares My.Application.DoEvents ao teu código, a tua aplicação pode tratar dos outros eventos. Por exemplo, se o teu código adicionar dados a ListBox um in a loop, e após cada passo do loop que chama My.Application.DoEvents, o teu formulário repinta quando outra janela é arrastada por cima. Se remover My.Application.DoEvents do seu código, o formulário não será repintado até que o handler de eventos de clique do botão termine de ser executado.

Normalmente, utiliza-se este método num ciclo para processar mensagens.

Note

O My.Application.DoEvents método não processa eventos exatamente da mesma maneira que o formulário. Use multithreading para fazer com que o formulário trate diretamente dos eventos. Para obter mais informações, consulte Usando processos e encadeamento de processos.

Atenção

Se um método que gere um evento de interface de utilizador (UI) chamar o My.Application.DoEvents método, este pode ser reintroduzido antes de terminar. Isto pode acontecer porque o método My.Application.DoEvents processa Windows mensagens, e Windows mensagens podem gerar eventos.

A tabela seguinte apresenta um exemplo de uma tarefa envolvendo o My.Application.DoEvents método.

Para Veja
Permitir que um formulário responda à entrada da interface enquanto está ocupado Passo a passo: Manipulando eventos

Disponibilidade por tipo de projeto

Tipo de Projeto Available
Aplicação Windows Forms Sim
Biblioteca de Classes No
Aplicativo de console No
Biblioteca de Controlo Windows Forms No
Biblioteca de controle da Web No
Serviço Windows No
Web site No

Aplica-se a

Ver também