La touche Suppr

Résolu
cs_merlon Messages postés 4 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 28 janvier 2008 - Modifié le 1 mars 2022 à 12:17
Whismeril Messages postés 19040 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 9 mai 2024 - 21 févr. 2022 à 15:49
Bonjour,
Après plusieurs recherches infructeuses, je me permet de poser cette question.
J'essaye de capter l'évènement keypress de la touche Suppr qui se situe à droite de la touche entrée, mais je n'arrive à capter que celle du pavé numérique...
Voici le bout de code que j'utilise:
protected override void OnKeyPress(KeyPressEventArgs e) 
{ 
     base.OnKeyPress(e); 
     if (e.KeyChar == (char)Keys.Delete)
          BoutonVirgule_Click(button1, EventArgs.Empty); 
}

7 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
28 janv. 2008 à 14:34
Salut,

as-tu essayé en utilisant l'évènement KeyDown à la place de KeyPress ?

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
3
cs_merlon Messages postés 4 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 28 janvier 2008
28 janv. 2008 à 15:18
Avec l'évènement Keydown sa marche
Mais maintenant, je récupère comment la touche Suppr du pavé numérique?
Sinon, y a une raison particulière que sa ne marche pas avec le keypress?
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
28 janv. 2008 à 15:22
c'est normal que ça ne fonctionne pas avec le KeyPress... cet évènement intercepte un Char hors, il me semble que la touche Delete n'est pas mappée dans cette plage.

La touche Delete du pavé numérique doit pouvoir être interceptée avec  Keys.Delete (voir Keys.Clear).

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
cs_merlon Messages postés 4 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 28 janvier 2008
28 janv. 2008 à 16:18
Loupé
e.KeyData == Keys.Decimal
pour la touche "." du pavé numérique.

Merci bien.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
28 janv. 2008 à 16:21
oui, mais là tu interceptes les . pas le "delete"

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
cs_merlon Messages postés 4 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 28 janvier 2008
28 janv. 2008 à 16:56
e.KeyData == Keys.Delete
Quand le pavé numérique est désactivé et que j'appuie sur le "." sa fait comme si j'appuyait sur l'autre touche Suppr (celle qui est pas sur le pavé).
Donc,, peut-on les différencier? ^^
Ceci est une autre question pour un autre post peut-être
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
28 janv. 2008 à 17:03
à vérifier... mais je ne pense pas que tu puisses différentier les touches "Suppr" _normale_ et celle du pavé numérique... à moins d'intercepter le message WM_KEYDOWN via une surchage de la méthode WndProc.

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
Si, tu peux l’intercepter avec !Control.IsKeyControl(Keys.Numlock). Si la touche Numlock est désactivée, alors la pression sur la touche "." est interprété comme un "Suppr". De cette façon tu n'interceptes pas l'évènement si tu veux vraiment mettre un "."
0
Whismeril Messages postés 19040 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 9 mai 2024 656 > Dimdim
Modifié le 21 févr. 2022 à 15:50
BONJOUR si si la politesse c’est bien.
Surtout quand on exhume une discussion une discussion en sommeil depuis 14 ans!
A l’époque du framework 3, pour lequel ta solution n’existait pas….
0
Rejoignez-nous