Bonjour à tous! :-)
J'ai créer un logiciel qui comporte, entre autres, une progressBar et un label.
Il contient aussi le bout de code suivant qui sert de timer :
Friend Sub hbwait(ByVal ms_to_wait As Long)
Dim endwait As Double
endwait = Environment.TickCount + ms_to_wait
While Environment.TickCount < endwait
System.Threading.Thread.Sleep(1)
Application.DoEvents()
End While
End Sub
En fait, la barre de progression se met à jour grâce à un code qui utilise ma fonction hbwait. Seulement, le scintillement de la progressBar se bloque à certains endroit : ce qui rend la chose... graphiquement moche.
J'ai tenté de fluidifier ma progressBar en ajoutant des points, toujours le même problème.
Puis, j'ai analysé le code hbwait, "sleep". J'ai donc suspecté cette mise en veille du code de "mêtre en veille" du scintillement de la progresse bar.
Question dans un premier temps : mon raisonnement est-il juste? Est-ce bien à cause du Sleep?
Deuxième question :
J'ai tenté de supprimer cette ligne (étant donné que je n'ai en fait pas besoin d'endormir le programme). Mais il se passe quelque chose d'étrange : la mise à jour du label ne se fait pas ou est très mauvaise. Par exemple : si mon premier mot affiché est plus long que le second mot affiché, la fin du premier mot est affiché en même temps que le second mot.
De plus, je n'ai plus le scintillement de la progressBar (mais ça, c'est moins grave.)
Pourquoi?
Je vous remercie d'avance de votre réponse! :-)