WindowsFormsApplicationBase.DoEvents Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Verarbeitet alle Windows Nachrichten, die sich derzeit in der Nachrichtenwarteschlange befinden.
public:
void DoEvents();
public void DoEvents();
member this.DoEvents : unit -> unit
Public Sub DoEvents ()
Beispiele
In diesem Beispiel wird die My.Application.DoEvents Methode zum Aktualisieren der Benutzeroberfläche TextBox1 verwendet.
Private Sub TestDoEvents()
For i As Integer = 0 To 10000
TextBox1.Text = i.ToString
My.Application.DoEvents()
Next
End Sub
Dieser Code sollte in einem Formular enthalten sein, das über eine TextBox1 Komponente mit einer Text Eigenschaft verfügt.
Hinweise
Mit der My.Application.DoEvents Methode kann Ihre Anwendung andere Ereignisse behandeln, die während der Ausführung von Code ausgelöst werden können. Die My.Application.DoEvents Methode hat das gleiche Verhalten wie die DoEvents Methode.
Wenn Sie eine Windows Forms Anwendung ausführen, wird ein neues Formular erstellt, das dann auf die Behandlung von Ereignissen wartet. Jedes Mal, wenn das Formular ein Ereignis behandelt, z. B. ein Schaltflächenklick, verarbeitet es den gesamten Code, der diesem Ereignis zugeordnet ist. Alle anderen Ereignisse warten in der Warteschlange. Während ihr Code das Ereignis behandelt, antwortet Ihre Anwendung nicht. Beispielsweise wird das Fenster nicht neu geschaltet, wenn ein anderes Fenster oben gezogen wird.
Wenn Sie Ihren Code aufrufen My.Application.DoEvents , kann Ihre Anwendung die anderen Ereignisse behandeln. Wenn Ihr Code beispielsweise einer Schleife Daten ListBox hinzufügt und nach jedem aufrufenden Schritt der Schleife Daten hinzufügt My.Application.DoEvents, wird das Formular neu bereinigt, wenn ein anderes Fenster darüber gezogen wird. Wenn Sie den Code entfernen My.Application.DoEvents , wird das Formular erst dann erneut aktualisiert, wenn der Klickereignishandler der Schaltfläche ausgeführt wird.
In der Regel verwenden Sie diese Methode in einer Schleife zum Verarbeiten von Nachrichten.
Note
Die My.Application.DoEvents Methode verarbeitet Ereignisse nicht auf genau die gleiche Weise wie das Formular. Verwenden Sie Multithreading, damit das Formular die Ereignisse direkt behandelt. Weitere Informationen finden Sie unter Verwenden von Threads und Threading.
Vorsicht
Wenn eine Methode, die ein Benutzeroberflächenereignis verarbeitet, die My.Application.DoEvents Methode aufruft, wird die Methode möglicherweise erneut eingegeben, bevor sie abgeschlossen ist. Dies kann passieren, da die My.Application.DoEvents-Methode Windows Nachrichten verarbeitet und Windows Nachrichten Ereignisse auslösen können.
In der folgenden Tabelle ist ein Beispiel für eine Aufgabe aufgeführt, die die My.Application.DoEvents Methode umfasst.
| To | Siehe |
|---|---|
| Zulassen, dass ein Formular auf UI-Eingaben reagiert, während beschäftigt | Anleitung: Umgang mit Ereignissen |
Verfügbarkeit nach Projekttyp
| Projekttyp | Available |
|---|---|
| Windows Forms-Anwendung | Ja |
| Klassenbibliothek | Nein |
| Konsolenanwendung | Nein |
| Windows Forms-Steuerelementbibliothek | Nein |
| Websteuerelementbibliothek | Nein |
| Windows-Dienst | Nein |
| Website | Nein |