Bonjour
Quelqu'un connait-il la différence entre KeyDown et KeyPress
Quel est le plus pertinent a tester pour un Enter sur un textbox ?
Version imprimable
Bonjour
Quelqu'un connait-il la différence entre KeyDown et KeyPress
Quel est le plus pertinent a tester pour un Enter sur un textbox ?
Les 2 sont possibles, mais en général j'utilise plutôt KeyPress. Il faut comparer e.KeyChar au caractère 13
Merci TomLev
Moi j'ai utilisé KeyDown
Mais je ne percoit pas bien la nuance !
La nuance, me semble t-il est au niveau de l'evenement
KeyDown est levé dès que tu appuies sur une touche.
KeyPress quand la touche est "relaché"... si je ne m'abuse.
ET je crois que certaines touches ne sont pas "trop" accessible dans le KeyDown ou le KeyPress (suivant les controles - Regardes explication microsoft sur le net)
Après, l'interet du KeyDown, est par exemple dans les jeux, ou tu vas etre informé que l'utilisateur appuie sur "fleche droite" par exemple. Tu vas mettre un flag disant que tu veux aller à droite, et tant que le KeyUp ne sera pas venu arreter cela (ou bien un KeyDown contradictoire, genre Fleche Gauche), tu resteras dans la gestion du fleche droite )
Le keyDown est donc utile pour tout ce qui est navigation demandant qu'une touche reste appuyée.
The Monz, Toulouse
En fait, l'évènemement KeyDown correspond au message windows WM_KEYDOWN, et a en paramètre le code de touche "brut", non interprété.
Alors que KeyPress correspond au message WM_CHAR, et a en paramètre un caractère : dans cet évènement la touche est déjà interprétée comme un caractère (ce qui signifie aussi que toutes les touches ne provoquent pas cet évènement, Ctrl ou Shift par exemple ne correspondant pas à des caractères.
Merci pour cette précision Tomlev