à quoi sert DoEvents? [Résolu]

Messages postés
35
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
3 août 2008
- - Dernière réponse : Kevin.Ory
Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
- 4 juin 2008 à 22:45
Voilà à quoi peut servir DoEvents, merci d'avance à ceux qui auront la réponse.

salut.
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
61
3
Merci
Salut
Tout ce que tu as toujours voulu savoir sur le DoEvents sans jamais avoir osé le demander est dans ce lien

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)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 220 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
5
1
Merci
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
Commenter la réponse de Kevin.Ory
Messages postés
35
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
3 août 2008
0
Merci
merci pour tes réponses jack
Commenter la réponse de zwarul