à quoi sert DoEvents?

Résolu
zwarul Messages postés 35 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 3 août 2008 - 4 juin 2008 à 12:32
Kevin.Ory Messages postés 840 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.

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
4 juin 2008 à 12:38
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)
3
Kevin.Ory Messages postés 840 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 7 janvier 2009 11
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
1
zwarul Messages postés 35 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 3 août 2008
4 juin 2008 à 12:45
merci pour tes réponses jack
0
Rejoignez-nous