2012-02-16 102 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