Timer sur label

Signaler
Messages postés
10
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
13 janvier 2011
-
Messages postés
10
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
13 janvier 2011
-
Bonsoir à tous,

Je suis entrain de créer une application pour faire une gestion de produits.
Suite à l'exécution d'une requête j'ai un label ( Status.Text ) qui affiche un message si la requête est bien passé.

Je souhaite faire afficher ce label quelques secondes.
J'ai donc ajouté un timer à ma Windows Forms. Mais le problème suivant m'ennuie.

Le label s'affiche 5 secondes ( Status.Visible ) puis il passe en hide, mais malheureusement 5 secondes après il revient, et ainsi de suite...



Si quelqu'un trouve une petite idée à mon soucis.
Merci

9 réponses

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Comme ton titre le suggère, je suppose que tu as utiliser un timer pour gérer tout cela.

Au premier déclenchement du timer tu rend le label invisible (ou plus exactement, vu les symptômes, tu inverse le statut visible), seulement tu oublis d'arrêter le timer. Ce qui fait que le timer se redéclenche, ré-inverse le statut visible du label le rendant maintenant visible. Puis invisible 5sec après, puis à nouveau visible, puis ......


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
10
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
13 janvier 2011

oui exactement !
Quel est la commande pour stopper le timer ?
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Au choix TonTimer.Stop() ou TonTimer.Enabled=false




[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
10
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
13 janvier 2011

private void timer1_Tick(object sender, EventArgs e)
{
Status.Visible = !Status.Visible;
timer1.Stop();

}


Du coup mon label ne s'affiche plus du tout
Messages postés
793
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
10 février 2021
8
Bonjour,
Si ton timer tick est de 1 seconde. Ajoute un compteur qui stoppe si le compteur est supérieur à 5.
Naturellement il ne faut pas oublier de le mettre à 0 dans la fonction qui starte le timer.

Bon codage

louis
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
Suite à l'exécution d'une requête j'ai un label ( Status.Text ) qui affiche un message si la requête est bien passé.

J'imagine que c'est à ce moment là que tu rend ton label visible (Statut.visible = true) et que tu démarre ton timer, non ?


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
10
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
13 janvier 2011

oui c'est sa !
dés que je click sur le button, du texte s'affiche sur le label Status.Text et c'est à ce moment là qu'il faudrait le laisser afficher 5 secondes
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
donc si ton timer est réglé sur 5sec (inteval=5000) ça devrait être bon.


[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Messages postés
10
Date d'inscription
jeudi 4 février 2010
Statut
Membre
Dernière intervention
13 janvier 2011

Le label clignotte