Domanda

Quali sono i vantaggi di utilizzare DoEvents oltre Repaint in un form utente in VBA? E 'a causa di prestazioni, per ridurre al minimo il fastidio di cose come uno sfarfallio dello schermo, o per quando è necessario aggiornare più di una semplice forma?

Alla ricerca di qualche chiarimento sulla differenza dal punto di vista VBA.

È stato utile?

Soluzione

In generale, VB6 e VBA utilizza DoEvents per dire al processore per continuare ad elaborare i messaggi nella coda dei messaggi. Viene utilizzato quando un'operazione trattamento intensivo è stato fatto nel processore e così l'interfaccia utente del programma è ancora sensibile a tutti gli altri eventi.

Esempio: Si sta facendo un algoritmo di ricerca intensiva, se non avete aggiunto DoEvents il programma può riagganciare fino a che non finisce la ricerca. D'altra parte, se si aggiunge DoEvents (per non dire del let ricerca di anello) il programma non riagganciare e ancora in grado di gestire tutti gli eventi del programma, come (Annulla) annullando la ricerca.

EDIT: mi vedo come DoEvents è più completo rispetto Repaint in quanto si occupa di tutti i tipi di eventi, non solo gestire il guizzo / Hangup della UI

.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top