Bonjour,
je souhaite récupérer les touches numériques (pavé numérique + touches du haut du clavier) quand celles-ci sont pressées.
Pour cela j'utilise une énumération

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
public enum EnumTest
        {
            NumPad0 = 0,
            NumPad1 = 1,
            NumPad2 = 2,
            NumPad3 = 3,
            NumPad4 = 4,
            NumPad5 = 5,
            NumPad6 = 6,
            NumPad7 = 7,
            NumPad8 = 8,
            NumPad9 = 9,
            D0 = 0,
            D1 = 1,
            D2 = 2,
            D3 = 3,
            D4 = 4,
            D5 = 5,
            D6 = 6,
            D7 = 7,
            D8 = 8,
            D9 = 9,
        }
 
        private void Window_KeyDown(object sender, KeyEventArgs e)
        {
            String cle = ((EnumTest)Enum.Parse(typeof(EnumTest), e.Key.ToString())).ToString();                  //récupération de la clé
            int valeur = (int)((EnumTest)Enum.Parse(typeof(EnumTest), e.Key.ToString()));                           //récupération de sa valeur
 
            MessageBox.Show("L'enumeration est : " + cle + "\r\n Sa valeur est " + valeur);
 
        }
Je récupère bien les bonnes valeurs par contre, les clés s'intervertissent entre les touches du clavier numérique (numPad) et les touches du haut du clavier(D) .
Par exemple:
- si je clic sur les touches 0, 1, 2, 3, 6, 7 ou 9 du pave numérique, les clés qui s'affichent sont bien numPad0, 1 , 2, 3, 6, 7 ou 9 . Par contre si je clique sur les touches 1, 2, 3, 6, 7 ou 9 du haut du clavier j'ai toujours numPad0, 1 , 2, 3, 6, 7 ou 9 qui s'affichent au lieu de (D0, D1, D2, D3, D6, D7 ou D9)
- Inversement, si je clic sur la touche 4, 5 ou 8 du pave numérique, les clés qui s'affichent sont D4, D5 ou D8 (alors que çà devrait être numPad 4,5 ou 6). Si je clique sur les touches 4, 5, ou 8 du haut du clavier j'ai cette fois ci les touches correspondantes D4, D5 et D8

Si je modifie le fichier Enum en gardant que les NumPadX, toutes les clés du pavé numériques sont reconnues.

Heu.....j'espère que c'est clair???

Si quelqu'un à une explication à ce comportement?

Merci par avance