à quoi sert DoEvents? [Résolu]

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

salut.

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
67
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)
Messages postés
843
Date d'inscription
mercredi 22 octobre 2003
Statut
Membre
Dernière intervention
7 janvier 2009
5
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
Messages postés
35
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
3 août 2008

merci pour tes réponses jack