Condividi tramite


WindowsFormsApplicationBase.DoEvents Metodo

Definizione

Elabora tutti i messaggi di Windows attualmente presenti nella coda di messaggi.

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

Esempio

In questo esempio viene usato il My.Application.DoEvents metodo per consentire all'interfaccia utente di TextBox1 eseguire l'aggiornamento.

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

Questo codice deve essere in un formato con un TextBox1 componente con una Text proprietà .

Commenti

Il My.Application.DoEvents metodo consente all'applicazione di gestire altri eventi che potrebbero essere generati durante l'esecuzione del codice. Il My.Application.DoEvents metodo ha lo stesso comportamento del DoEvents metodo .

Quando si esegue un'applicazione Windows Forms, viene creato un nuovo modulo, che attende quindi la gestione degli eventi. Ogni volta che il modulo gestisce un evento, ad esempio un clic sul pulsante, elabora tutto il codice associato a tale evento. Tutti gli altri eventi attendono nella coda. Mentre il codice gestisce l'evento, l'applicazione non risponde. Ad esempio, la finestra non viene ridisegnata se un'altra finestra viene trascinata in alto.

Se si chiama My.Application.DoEvents nel codice, l'applicazione può gestire gli altri eventi. Ad esempio, se il codice aggiunge dati a un ListBox oggetto in un ciclo e dopo ogni passaggio del ciclo chiama My.Application.DoEvents, il form viene riavvolso quando viene trascinata un'altra finestra. Se si rimuove My.Application.DoEvents dal codice, il modulo non verrà aggiornato fino al completamento dell'esecuzione del gestore eventi click del pulsante.

In genere, questo metodo viene usato in un ciclo per elaborare i messaggi.

Nota

Il My.Application.DoEvents metodo non elabora gli eventi esattamente allo stesso modo del form. Usare il multithreading per fare in modo che il modulo gestisca direttamente gli eventi. Per altre informazioni, vedere Uso di thread e threading.

Attenzione

Se un metodo che gestisce un evento dell'interfaccia utente chiama il My.Application.DoEvents metodo , il metodo potrebbe essere nuovamente immesso prima del completamento. Ciò può verificarsi perché il My.Application.DoEvents metodo elabora i messaggi di Windows e i messaggi di Windows possono generare eventi.

Nella tabella seguente è riportato un esempio di attività che include il My.Application.DoEvents metodo .

A Vedere
Consentire a un modulo di rispondere all'input dell'interfaccia utente mentre è occupato Procedura dettagliata: gestione di eventi

Disponibilità per tipo di progetto

Tipo di progetto Disponibile
Windows Forms Application
Libreria di classi No
Applicazione console No
Libreria di controllo Windows Form No
Libreria di controlli Web No
Servizio Windows No
Sito Web No

Si applica a

Vedi anche