zwarul
Messages postés35Date d'inscriptionvendredi 4 février 2005StatutMembreDernière intervention 3 août 2008
-
4 juin 2008 à 12:32
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 2009
-
4 juin 2008 à 22:45
Voilà à quoi peut servir DoEvents, merci d'avance à ceux qui auront la réponse.
DoEvents redonne la main au système pour qu'il ait le temps de :
- rafraichir les graphiques
- permette la prise en compte des actions clavier ou souris
...
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Kevin.Ory
Messages postés840Date d'inscriptionmercredi 22 octobre 2003StatutMembreDernière intervention 7 janvier 200911 4 juin 2008 à 22:45
Salut,
Litéralement DoEvent veut dire "Faire les événements" ou en français "exécuter les événements".
Dans un thread (ton programme), chaque événement est traité à la suite, jamais en même temps. Donc si par exemple tu clique sur un bouton de ta Form, l'événement Click ne sera exécuter qu'une fois que ton programme n'a plus rien d'autre à faire.
Sauf, si tu met un DoEvents.
Le DoEvents arrête l'exécution du bloc en cours (la procédure, fonction) et permet aux autres événements en attente de s'éxécuter.
' Par exemple ton programme est en train d'exécuter une fonction:
Private Function CalcValue As Integer
Calcul1
Calcul2
' A ce moment là, tu clique sur un bouton sur ta Form.... Mais l'exécution continue,
' l'événement Button.Click est simplement mis en attente
Calcul3
Calcul4
DoEvents
' Ici il à eu un DoEvents. Ce calcul à donc été interrompu et la fonction
' Button1_Click à été exécuté.
' Une fois la procédure Button1_Click terminé, on continue:
Calcul5
Calcul6
End Function
Private Sub Button1_Click(...) Handles Button1.Click
...
End Sub