2012-02-16 103 views
0

我想創建,改變已按下按鈕的價值的應用程序。 示例:如果鍵盤上的C按鈕已被按下,則它應該輸出值'7'。只有應用程序正在運行時,按鈕值纔會更改。如何重新映射鍵盤按鍵

我迄今爲止代碼:

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
     this.KeyDown += new KeyEventHandler(Form1_KeyDown); 

    } 

    void Form1_KeyDown(object sender, KeyEventArgs e) 
    { 
     if (e.KeyCode == Keys.C) 
     { 


     } 
    } 
} 

所有幫助將大大讚賞。 感謝

+2

你的意思是在全球範圍內Windows或只是在你的應用程序? – Justin 2012-02-16 13:30:32

+0

我希望它是全球唯一的,但只要應用程序打開 – 2012-02-16 16:53:50

回答

0

如果這是你的應用程序的範圍僅,我會通過使密鑰的哈希映射到他們的結合繼續。 (邀請碼=>您-綁定)

如果你想在喜歡你的榜樣整數值,你必須像那樣的地圖:

Dictionary<KeyCode,Integer> keyMap = new Dictionary<KeyCode,Integer>(); 

void Form1_KeyDown(object sender, KeyEventArgs e) 
{ 
    if(keyMap.ContainsKey(e.KeyCode) { 
    int boundValue = keyMap[e.KeyCode]; 
    // continue with what you want to do here 
    } 
} 
+0

Onresolve嗨,我希望把它在全球範圍,所以只要打開應用程序,該密鑰將有我設置的值。 – 2012-02-16 16:58:54

+0

感謝您的幫助,這對於應用程序的範圍非常有用 – 2012-05-10 07:39:29