Ce petit code montre comment une ProgressBar, sous forme de 2 PictureBox, permet le comptage d'un timers en pourcentage.
C'est utile, par exemple, pour faire patienter l'utilisateur durant le chargement du logiciel.
Il a été utilisé à la création de mon logiciel PHONE99.
Source / Exemple :
Pour le code, tout est dans le zip.
Personnellement, je préfère limiter la progressbar à un seul picturebox dans lequel se trouve à la fois la ligne de progression et le texte indiquant le pourcentage.
La procédure que j'utilise habituellement (voir ci-dessous), offre ainsi l'avantage de limiter les contrôles à utiliser. Elle permet également de modifier les couleurs de la ligne de progression ainsi que celle du pourcentage lorsque la ligne passe dessus.
Public Sub Progression(ByVal Valeur As Integer, ByVal Max As Integer)
Dim iVal As Integer
Dim sPourcentage As String
'Récupère la valeur de la progression
iVal = Valeur
'Si 0...
If iVal 0 Then iVal 1
'Transforme cette valeur en pourcentage
iVal = (iVal / Max) * 100
'Transforme cette valeur en chaîne
sPourcentage = Format(iVal, "###") & "%"
'Efface le contenu de la PictureBox
Me.Picture1.Cls
'Calcule l'emplacement de la chaîne (au centre de la PictureBox)
Me.Picture1.CurrentX = (Me.Picture1.ScaleWidth - Me.Picture1.TextWidth(sPourcentage)) / 2
Me.Picture1.CurrentY = (Me.Picture1.ScaleHeight - Me.Picture1.TextHeight(sPourcentage)) / 2
'Ecrit la chaîne
Me.Picture1.Print sPourcentage
'Trace une ligne pour indiquer la progression
Me.Picture1.Line (0, 0)-(iVal, Me.Picture1.ScaleHeight), vbMagenta, BF
'Redessine le tout
Me.Picture1.Refresh
'Rend la main au système
DoEvents
End Sub
Remarque, il faut définir absolument définir les propriétés suivantes de la picturebox pour que cela marche
Me.Picture1.AutoRedraw = True
Me.Picture1.ScaleWidth = 100
Me.Picture1.DrawMode = vbNotXorPen
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.