Bonjour a tous!
J'aimerai créer une procédure de temporisation qui me permette de faire une pause entre deux actions.

J'ai réussi a coder cela en mode console sans difficultés comme suit:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Sub Temporisation(ByVal temps As Double)
        Dim x As Double
        x = Timer + temps
        Do
        Loop Until x <= Timer
    End Sub
 
'Appel de la procédure:
Temporisation(2)

Mais en évènementiel, ne trouvant pas comment récupérer la valeur de la fonction Timer , j'ai pensé a utiliser un timer qui a chaque tick incrémente une variable publique:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Private Sub TimerAffichageTemporise_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerAffichageTemporise.Tick
        TimerAffichage = TimerAffichage + 1
    End Sub
et une procédure qui utilise cette valeur comme précédemment :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 Sub Temporisation(ByVal NbTicks As Integer)
        frmPartie.TimerAffichageTemporise.Enabled = True
        frmPartie.TimerAffichageTemporise.Start() 'Demarrage du timer de tempo de l'affichage
        Dim tempo As Integer
        tempo = TimerAffichage + NbTicks
        Do
            'on attend que le timer ait tické le nombre de fois demandé!
        Loop Until tempo <= TimerAffichage
        frmPartie.TimerAffichageTemporise.Stop() 'Arrêt du timer de tempo de l'affichage
    End Sub
Seulement, cela ne fonctionne pas, pendant la boucle, le timer ne tick plus...

Voilà, je ne sais pas vraiment quoi essayer de plus du coup, je viens vous demander de l'aide précieuse!
Merci!