Modifier la couleur du texte d'un label de façon progressive

Résolu
dsigmoun Messages postés 135 Date d'inscription jeudi 31 juillet 2008 Statut Membre Dernière intervention 25 février 2023 - 30 juil. 2009 à 18:17
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 - 31 juil. 2009 à 22:00
Bonjour,

Je cherche à modifier la couleur du texte d'un label de façon progressive (du blanc au noir). Pour cela, je tente avec le code ci-dessous mais rien ne se passe :


lblagenda.ForeColor = Color.FromArgb(255, 255, 255)

For y = 255 To 0 Step 1
lblagenda.ForeColor = Color.FromArgb(y, y, y)
Next

Quelqu'un a t'il une idée ?

Merci par avance.

4 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
30 juil. 2009 à 23:26
Salut !

D'ou sort ce code ???

For y = 255 To 0 Step 1
lblagenda.ForeColor = Color.FromArgb(y, y, y)
Next

Une boucle démarre toujours par le plus petit nombre sinon vb ne l'exécute pas :

For i = 0 to 9
'Exécuté 10 fois
next i

For i = 9 To 0
'Exécuté 0 fois
Next i

Le plus l'instruction Step 1 ne sert strictement à rien, Step sert à sauter des étapes :

For i = 9 To 0 Step 2
'Exécuté à 0, 2, 4, 6, 8
Next i

Donc si tu met step 1, cela revient à ne rien mettre du tout...

Essaye :

For y = 0 To 255
Dim Chan As Byte = 255 - y
lblagenda.ForeColor = Color.FromArgb(Chan, Chan, Chan)
Next

Idem : Comme dit jmf0, avec ce code, les instructions vont être exécuté à la suite, ton label passera donc du blanc au noir instantanément. Essaye d'y insérer une ligne de code qui fera patienter ton programme entre chaques décrémentations de la couleur de ton label.

@+ Mayzz.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
3
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
30 juil. 2009 à 19:28
Bonjour,

et selon toi : par quelles valeurs de y va-t-il passer de 255 à 0 si tu augmente y de + 1 à chaque boucle ?
0
ricky84 Messages postés 44 Date d'inscription dimanche 8 septembre 2002 Statut Membre Dernière intervention 13 janvier 2014
31 juil. 2009 à 10:54
For y = 255 To 0 Step -1


ça devrait marcher
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
31 juil. 2009 à 22:00
Effectivement de cette façon cela devrait fonctionner, tu précise à vb d'aller en soustrayant l'étape.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Rejoignez-nous