Timer dans un usercontrol [Résolu]

Signaler
Messages postés
100
Date d'inscription
jeudi 3 mars 2005
Statut
Membre
Dernière intervention
24 mai 2013
-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
-
bonjour
j'ai un soucis je souhaite faire un bouton clignotant
donc j'ai ajouter la propriete Twinkling qui lorsqu'elle passe a true m'active mon timer timer_Clignotement
mais je ne passe jamais dans la routine timer_Clignotement_Tick
quelqu'un peut m'aider j'ai oublier quoi ?
merci
JL


namespace XCtrls
{
public class BitmapButton : System.Windows.Forms.Button
{

public System.Windows.Forms.Timer timer_Clignotement = new Timer() ;
private bool _Twinkling = false ;
[Browsable(true),
CategoryAttribute("Appearance"),
Description("Twinkling button"),
System.ComponentModel.RefreshProperties(RefreshProperties.Repaint)
]
public bool Twinkling
{
get { return _Twinkling; }
set { _Twinkling = value;
this.timer_Clignotement.Enabled = _Twinkling;
this.timer_Clignotement.Interval = 100;
}
}

private void timer_Clignotement_Tick(object sender, System.EventArgs e)
{
if (this.BackColor != this.TwinklingColor1)
this.BackColor = this.TwinklingColor1;
else
this.BackColor = this.TwinklingColor2;
}
}

5 réponses

Messages postés
327
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
10 avril 2010
6
Salut,

truc tout con: tu t'es bien abonné à l'évènement Tick de ton timer quelque part?
i.e. this.timer_Clignotement.Tick+=new EventHandler(timer_Clignotement_Tick);
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
Pour informations, la méthode Start() et la property Enabled font exactement la même chose...

<hr />
-Blog-
-Site Perso-
Messages postés
327
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
10 avril 2010
6
Salut,

Il faut appeler la méthode Start() du Timer pour qu'il se déclenche.
Messages postés
100
Date d'inscription
jeudi 3 mars 2005
Statut
Membre
Dernière intervention
24 mai 2013

bonjour
j'ai mis start mais ca ne marche toujours pas
public bool TwinklingActive
{
get { return _TwinklingActive; }
set { _TwinklingActive = value;
this.timer_Clignotement.Enabled = _TwinklingActive;
if (_TwinklingActive)
{
this.timer_Clignotement.Interval = 100;
this.timer_Clignotement.Start();
}



}
}


private void timer_Clignotement_Tick(object sender, System.EventArgs e)
{
if (this.BackColor != this.TwinklingColor1)
this.BackColor = this.TwinklingColor1;
else
this.BackColor = this.TwinklingColor2;
}
Messages postés
100
Date d'inscription
jeudi 3 mars 2005
Statut
Membre
Dernière intervention
24 mai 2013

en oui c'etait con mais il falait y penser merci
JL