Obs!: Funktionen, metoden, objektet eller egenskapen som beskrivs i det här avsnittet inaktiveras om Microsoft Jet Expression Service körs i begränsat läge, vilket förhindrar utvärderingen av potentiellt osäkra uttryck. Om du vill ha mer information om begränsat läge söker du efter "begränsat läge" i hjälpen.
För över körningen så att operativsystemet kan hantera andra händelser.
Syntax
DoEvents ( )
Anmärkningar
Funktionen DoEvents returnerar ett heltal som representerar antalet öppna formulär i fristående versioner av Microsoft Visual Basic, till exempel Visual Basic Professional Edition. DoEvents returnerar noll i alla andra program.
DoEvents lämnar över kontroll till operativsystemet. Kontrollen återgår när operativsystemet har bearbetat händelserna i kön och alla nycklar i kön SkickaTecken har skickats.
DoEvents är mest användbart för enkla saker som att låta en användare avbryta en process efter att den har startat, till exempel en sökning efter en fil. För långvariga processer är det bättre att ge efter för processorn genom att använda en timer eller delegera aktiviteten till en ActiveX EXE-komponent. I det senare fallet kan aktiviteten fortsätta helt oberoende av ditt program och operativsystemet tar hand om multitasking och tidsslicering.
Varje gång du tillfälligt för över till processorn inom en händelseprocedur: Kontrollera att procedur inte körs igen från en annan del av din kod innan första anropet returneras eftersom det kan orsaka oväntade resultat. Dessutom ska du inte använda DoEvents om andra program eventuellt kan interagera med din procedur på oförutsedda sätt under tiden som du för över kontroll.
Exempel
Obs!: I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.
I det här exemplet används funktionen DoEvents för att föra över kontroll till operativsystemet var tusende iteration av loopen. DoEvents returnerar antalet öppna Visual Basic-formulär, men bara när värdprogrammet är Visual Basic.
' Create a variable to hold number of
' Visual Basic forms loaded and visible. Dim I, OpenForms For I = 1 To 150000 ' Start loop. If I Mod 1000 = 0 Then ' If loop has repeated ' 1000 times. OpenForms = DoEvents ' Yield to operating system. End If Next I ' Increment loop counter.