Каковы преимущества использования Doevents по перекраске в пользовательской форме в VBA?

StackOverflow https://stackoverflow.com/questions/4299277

Вопрос

Каковы преимущества использования Doevents по перекраске в пользовательской форме в VBA? Это из -за производительности, для минимизации раздражения таких вещей, как мерцание экрана, или когда вам нужно обновлять больше, чем просто форма?

Ищете некоторое разъяснение в разнице от точки зрения VBA.

Это было полезно?

Решение

В целом VB6 и VBA используют DoEvents, чтобы сообщить процессору продолжать обработку сообщений в очереди сообщений. Используется, когда в процессоре используется интенсивная обработка операции обработки, и поэтому пользовательский интерфейс программы все еще реагирует на все другие события.

Пример: Вы выполняете интенсивный алгоритм поиска, если вы не добавили DoEvents, программа может повесить до того, как она не закончит поиск. С другой стороны, если вы добавите DoEvents (на петлю поиска, скажем, программа не зависает вверх и все равно может обрабатывать все программные события, такие как (Отмена) Отмена поиска.

РЕДАКТИРОВАТЬ: Я вижу это, так как Doevents является более полным, чем перекрасить, поскольку он имеет дело со всеми типами событий, не только обрабатывая мерцание/повествование пользовательского интерфейса.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top