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 |