Ich versuche einen Tastendruck zu machen, wandle ihn in eine Zeichenkette um und wandle die Zeichenkette dann in ihren ursprünglichen keypress int-Wert zurück.Warum werden einige Schlüssel, die einmal in Zeichenfolgen konvertiert wurden, nicht wieder in ihre ursprünglichen Schlüsselcodes konvertiert?
Angenommen, ich habe dies:
KeysConverter kc = new KeysConverter();
string keyChar = kc.ConvertToString((System.Windows.Forms.Keys)e.KeyCode);
int key = (int)e.KeyCode;
Debug.WriteLine(e.KeyCode + " " + (int)e.KeyCode);
Key tempkey;
Enum.TryParse(keyChar, out tempkey);
Debug.WriteLine(tempkey + " " + (int)tempkey);
Alles scheint gut zu funktionieren. Zum Beispiel:
Testfall: F5
Ausgang: F5 116
F5 116
Testfall: `(Oemtilde)
Ausgang: Oemtilde 192
Oemtilde 192
Testfall: X
Ausgang: X 88
X 88
gut ... ich zu sein scheint
Dann tun:
Testfall: 1
Ausgang: D1 49
Lbutton 1
Warum werden einige Schlüssel nicht auf ihre ursprünglichen Werte zurückkonvertiert?
Bemerkenswerte Schlüssel hat es nicht mit gearbeitet:
1,2,3, ..., 9,0, Einfügen, Löschen, Bild ab, Bild auf
Edit:
Testfall: 1
(auf dem Tastenfeld auf der rechten Seite der Tastatur)
Ausgang: NumPad1 97
NumPad1 97
Sind die Tasten, die Ihnen Probleme auf der Tastatur geben? –
Nur die, die ich aufgelistet habe (1,2,3, ..., 9,0, Einfügen, Löschen, Bild ab, Bild auf) sind die, die mir ein Problem bereiten. Die Tastatur auf der rechten Seite der Tastatur gibt kein Problem. Sogar die '*', '/' Zeichen sind gut – John