Bonjour tous le monde.
Voila, je deviens fou. Un peu d'aide s'il vous plait. Voici ma fonction :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| using System.Diagnostics;public void Touche_Clavier(Object o, KeyPressEventArgs e)
{
string Saisie = TbSaisie.Text;
Stopwatch sw = new Stopwatch();
// Initialisation : dbut de la mesure
sw.Start();
if (e.KeyChar == (char)Keys.Enter)//Si la touche ENTREE est saisie :
{
sw.Stop();
if (sw.Elapsed.Seconds >= 1)
{
TbSaisie.Text = "";
}
else if (sw.Elapsed.Seconds < 1)
{
TraitementSaisie(Saisie);
TbSaisie.Text = "";
}
} |
On rentre donc dans cette fonction si une touche du clavier est saisie. A ce moment la, un timer se met en marche. Si la touche entrer est saisie, le timer s'arrete. On regarde alors le temps qui c'est écoulé. Si le temps est supérieur ou égal à 1 seconde, on efface le contenu de la saisie est on recommence tout. Dans le cas contraire, on accéde à la fonction traitement saisie puis on efface le contenu de la saisie.
Mon probléme, c'est que en mode pas à pas,avec un temps >1, le programme fonctionne bien ( point d'arret au niveau de
if (sw.Elapsed.Seconds >= 1)
). Mais lorsque j'execute ma fonction en mode normal, la fonction ne marche plus et va directement à la fonction Traitement saisie. Impossible de savoir pourquoi.
Pourriez vous me donner des conseils pour résoudre mon probléme. Merci d'avance.
Cordialement.
Partager