2015-06-15 24 views
0

我正在更改程序,以便列表框獲取鍵盤輸入(數字鍵盤,D0-D9,字母鍵)並根據輸入編輯當前選定列表框項目的屬性。我的問題是,似乎沒有功能可以將按鍵轉換爲字母。爲例子,目前我有去在winform列表框中獲取鍵盤輸入

 string letter; 
     if (e.KeyCode == Keys.A) { letter = "a"; return letter; } 
     if (e.KeyCode == Keys.B) { letter = "b"; return letter; } 
     if (e.KeyCode == Keys.C) { letter = "c"; return letter; } 
     if (e.KeyCode == Keys.D) { letter = "d"; return letter; } 
     if (e.KeyCode == Keys.E) { letter = "e"; return letter; } 
     if (e.KeyCode == Keys.F) { letter = "f"; return letter; } 
     if (e.KeyCode == Keys.G) { letter = "g"; return letter; } 
     if (e.KeyCode == Keys.H) { letter = "h"; return letter; } 
     if (e.KeyCode == Keys.I) { letter = "i"; return letter; } 
     if (e.KeyCode == Keys.J) { letter = "j"; return letter; } 
     if (e.KeyCode == Keys.K) { letter = "k"; return letter; } 
     if (e.KeyCode == Keys.L) { letter = "l"; return letter; } 
     if (e.KeyCode == Keys.M) { letter = "m"; return letter; } 
     if (e.KeyCode == Keys.N) { letter = "n"; return letter; } 
     if (e.KeyCode == Keys.O) { letter = "o"; return letter; } 
     if (e.KeyCode == Keys.P) { letter = "p"; return letter; } 

等整個字母和數字的功能,我想將它擴大到包括符號爲好。我想知道是否存在一個更高效的函數,我可以調用它可以接受keyeventArg或其keyCode/KeyValue/KeyData,並且能夠告訴我它是什麼字母/數字,而不是爲每個單獨的字母/數字輸入它/符號。

+0

您只是使用錯誤的事件,而是使用KeyPress事件。 –

+0

看看這裏如果這有助於[KeysConverter類Msdn](https://msdn.microsoft.com/en-us/library/system.windows.forms.keysconverter.aspx) – MethodMan

回答

0
private void listBox1_KeyPress(object sender, KeyPressEventArgs e) 
    { 
     string letter = ""; 
     //letter = ProcessKey(e.KeyChar); 
     //or 
     letter = e.KeyChar.ToString(); 
    } 

    private string ProcessKey(char key) 
    { 
     return key.ToString(); 
    }