Freigeben über


My.Application.DoEvents-Methode

Aktualisiert: November 2007

Verarbeitet alle Windows-Meldungen, die sich derzeit in der Meldungswarteschlange befinden.

' Usage
My.Application.DoEvents()
' Declaration
Public Sub DoEvents()

Hinweise

Mithilfe der My.Application.DoEvents-Methode kann eine Anwendung andere Ereignisse behandeln, die während der Ausführung des Codes möglicherweise ausgelöst werden. Die My.Application.DoEvents-Methode weist das gleiche Verhalten wie die DoEvents-Methode auf.

Wenn Sie eine Windows Forms-Anwendung ausführen, wird ein neues Formular erstellt, das dann Ereignisse behandeln kann. Immer dann, wenn das Formular ein Ereignis behandelt, z. B. das Klicken auf eine Schaltfläche, wird der gesamte Code verarbeitet, der dem Ereignis zugeordnet ist. Alle anderen Ereignisse verbleiben in der Warteschlange. Während der Code das Ereignis behandelt, reagiert die Anwendung nicht. Beispielsweise wird das Fenster nicht neu aufgebaut, wenn ein anderes Fenster darüber gezogen wird.

Wenn Sie im Code My.Application.DoEvents aufrufen, kann die Anwendung die anderen Ereignisse behandeln. Wenn der Code beispielsweise einem ListBox Daten in einer Schleife hinzufügt und nach jeder Schleifeniteration My.Application.DoEvents aufruft, wird das Formular neu aufgebaut, wenn ein anderes Fenster über das Formular gezogen wird. Wenn Sie My.Application.DoEvents aus dem Code entfernen, wird das Formular solange nicht neu aufgebaut, bis der Click-Ereignishandler der Schaltfläche die Ausführung abgeschlossen hat.

Üblicherweise wird diese Methode in einer Schleife zum Verarbeiten von Meldungen verwendet.

Hinweis:

Die My.Application.DoEvents-Methode verarbeitet Ereignisse nicht genau auf die gleiche Weise wie das Formular. Verwenden Sie Multithreading, wenn das Formular die Ereignisse direkt behandeln soll. Weitere Informationen finden Sie unter Multithreading in Visual Basic.

Vorsicht:

Wenn eine Methode, die ein Benutzeroberflächenereignis behandelt, die My.Application.DoEvents-Methode aufruft, wird die Methode möglicherweise erneut gestartet, bevor sie abgeschlossen wurde. Dieser Fall kann eintreten, weil die My.Application.DoEvents-Methode Windows-Meldungen verarbeitet, und Windows-Meldungen können Ereignisse auslösen.

Aufgaben

Die folgende Tabelle enthält ein Beispiel für eine Aufgabe mit der My.Application.DoEvents-Methode.

Zweck

Weitere Informationen finden Sie unter

Zulassen, dass ein Formular auf Benutzeroberflächeneingaben reagiert, während es ausgeführt wird

Exemplarische Vorgehensweise: Behandeln von Ereignissen

Beispiel

In diesem Beispiel wird die My.Application.DoEvents-Methode verwendet, um das Aktualisieren von TextBox1 auf der Benutzeroberfläche zuzulassen.

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

Dieser Code muss sich in einem Formular befinden, das über eine TextBox1-Komponente mit einer Text-Eigenschaft verfügt.

Anforderungen

Namespace: Microsoft.VisualBasic.ApplicationServices

Klasse: WindowsFormsApplicationBase

Assembly: Visual Basic-Laufzeitbibliothek (in Microsoft.VisualBasic.dll)

Verfügbarkeit nach Projekttyp

Projekttyp

Verfügbar

Windows-Anwendung

Ja

Klassenbibliothek

Nein

Konsolenanwendung

Nein

Windows-Steuerelementbibliothek

Nein

Web-Steuerelementbibliothek

Nein

Windows-Dienst

Nein

Website

Nein

Berechtigungen

Die folgenden Berechtigungen sind möglicherweise erforderlich:

Berechtigung

Beschreibung

FileIOPermission

Steuert die Fähigkeit, auf Dateien und Ordner zuzugreifen. Zugeordnete Enumeration: Unrestricted.

UIPermission

Steuert die Berechtigungen für Benutzeroberflächen und die Zwischenablage. Zugeordnete Enumeration: AllWindows.

Weitere Informationen finden Sie unter Codezugriffssicherheit und unter Anfordern von Berechtigungen.

Siehe auch

Referenz

My.Application-Objekt

WindowsFormsApplicationBase.DoEvents

DoEvents