WindowsFormsApplicationBase.DoEvents Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 |