Bir tuşa basmaya çalışıyorum, onu bir dizeye dönüştürüyorum, daha sonra dizeyi orijinal tuşa basma int değerine dönüştürüyorum. Neden bazı anahtarlar, bir kez dizelere dönüştürülür, özgün anahtar kodlarına geri dönmezler?
bu var varsayalım: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);
Her şey iyi çalışıyor gibi görünüyor.
Test durumda: F5
Çıkış: F5 116
F5 116
Test durumda: '(Oemtilde)
Çıkış: Oemtilde 192
Oemtilde 192
Test durumda: X
Çıktı: X 88
X 88
iyi gibi görünüyor ... Sonra
yapmam bu:
Test durumda: 1
Çıktı: D1 49
Lbutton 1
Neden bazı tuşlar orijinal değerlerine dönmüyor?
1,2,3, ..., 9,0, Ekle, Page Down, Page Up Sil
Düzenleme::
Noteable tuşları o ile çalıştı henüz test durumda: 1
(klavyenin sağ tarafındaki tuş takımında)
Çıktı: NumPad1 97
NumPad1 97
Tuş takımında size sorun veren anahtarlar var mı? –
Sadece listelediğim (1,2,3, ..., 9,0, Ekle, Sil, Sayfa Aşağı, Page Up) bana sorun verenler. Klavyenin sağ tarafındaki tuş takımı bir sorun oluşturmaz. * * ''/'Işaretleri bile iyidir – John