Modifier la couleur du texte d'un label de façon progressive [Résolu]

Messages postés
134
Date d'inscription
jeudi 31 juillet 2008
Statut
Membre
Dernière intervention
15 février 2011
- - Dernière réponse : Mayzz
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
- 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.
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
13
3
Merci
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.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 133 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Mayzz
Messages postés
1566
Date d'inscription
mardi 26 décembre 2000
Statut
Membre
Dernière intervention
5 avril 2013
3
0
Merci
Bonjour,

et selon toi : par quelles valeurs de y va-t-il passer de 255 à 0 si tu augmente y de + 1 à chaque boucle ?
Commenter la réponse de jmf0
Messages postés
46
Date d'inscription
dimanche 8 septembre 2002
Statut
Membre
Dernière intervention
13 janvier 2014
0
Merci
For y = 255 To 0 Step -1


ça devrait marcher
Commenter la réponse de ricky84
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
13
0
Merci
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.
Commenter la réponse de Mayzz