Problème de timer Visual Basic

Résolu/Fermé
Utilisateur anonyme - 15 déc. 2007 à 11:51
 Utilisateur anonyme - 16 déc. 2007 à 14:05
Bonjour,
J'ai voulu faire des contrôles clignotants, qui changent tantôt en jaune, tantôt en jaune clair. J'ai utilisé la boucle, mais c'était nul,
parce que ça freezais l'application.
Alors j'ai utilisé des timers.

Nom des contrôles:
Label: TwLabel
Bouton: TwButton
Timer: Scintille

Voici le code:

Private Sub Scintille_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Scintille.Tick
If Scintille.Interval = 100 Then
TwLabel.ForeColor = Color.LightYellow
TwButton.BackColor = Color.LightYellow
End If

If Scintille.Interval = 800 Then
TwLabel.ForeColor = Color.Yellow
TwButton.BackColor = Color.Yellow
End If
End Sub

Mais il y a un problème:
ça marche, je vois les contrôles jaunes puis jaunes clairs, mais qu'une fois! Je voudrais que ça le fasse tout le temps.
Je vous serait très reconnaissant de m'aider.
A voir également:

2 réponses

Bonjour

scintille.intervalle te donne la durée de ton timer, pas là où il en est rendu. Si tu as mis sa valeur à 800, ton premier IF ne sera jamais exécuté
Utilise une variable static pour mémoriser si son bouton est clair ou foncé et inverse la variable à chaque fois

Private Sub Scintille_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Scintille.Tick

Static Clair as boolean

Clair = not clair
if Clair then
TwLabel.ForeColor = Color.LightYellow
TwButton.BackColor = Color.LightYellow
Else
TwLabel.ForeColor = Color.Yellow
TwButton.BackColor = Color.Yellow
End If
End Sub

Si tu veux avoir des périodes différentes, modifie scintille.interval dans chacune des conditions
0
Utilisateur anonyme
16 déc. 2007 à 14:05
Merci! ça marche super bien!
les contrôles clignotent comme je voulais!
bye!
0