Забележка: Функцията, методът, обекта или свойството, описани в тази тема, е забранена, ако услугата Microsoft Jet Expression се изпълнява в ограничителен режим, което не позволява оценка на потенциално опасни изрази. За повече информация относно режима на таксуване, потърсете "режим на таксуване" в "Помощ".

Добиви изпълнение, така че операционната система да може да обработва други събития.

Синтаксис

DoEvents ()

Забележки

Функцията DoEvents връща цяло число, представляващо броя отворени формуляри в самостоятелни версии на Microsoft Visual Basic, като например Visual Basic, Professional Edition. DoEvents връща нула във всички други приложения.

DoEvents преминава управлението на операционната система. Управлението се връща, след като операционната система завърши обработката на събитията в опашката и всички ключове в опашката на макродействие SendKeys са изпратени.

DoEvents е най-полезен за прости неща, като например Позволяване на потребител да отмени процес, след като е започнал, като примерно търсене на файл. За дълготрайните процеси, давайки на процесора по-добра производителност, като използвате таймер или делегирате задачата на ActiveX EXE компонент. Във втория случай задачата може да продължи напълно независимо от вашето приложение, а операционната система се грижи за многозадачност и време на рязане.

Всеки път, когато предавате временно на процесора в процедура за събитие, уверете се, че процедура не се изпълнява отново от друга част от вашия код, преди да се върне първото обаждане. Това може да доведе до непредвидими резултати. Освен това не използвайте DoEvents , ако други приложения биха могли да си взаимодействат с вашата процедура по непредвидими начини по време на управлението.

Пример

Забележка: Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (VBA). За повече информация относно работата с VBA изберете Справочни материали за разработчици в падащия списък до Търсене и въведете един или няколко термина в полето за търсене.

Този пример използва функцията DoEvents , за да накара изпълнението да се издаде на операционната система веднъж на всяко 1000 повторения на цикъла. DoEvents връща броя на отворените формуляри на Visual Basic, но само когато приложението Host е 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.

Нуждаете се от още помощ?

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към Microsoft приобщени

Беше ли полезна тази информация?

Доколко сте доволни от качеството на превода?
Какво е повлияло на вашия потребителски опит?

Благодарим ви за обратната връзка!

×