C# 在visual studio 2008中绑定击键,用c编程

C# 在visual studio 2008中绑定击键,用c编程,c#,C#,我还是个编程高手,但我越来越好了 现在我正在编写一个西蒙说的游戏。有四个按钮。我的代码在功能上非常完美。但是,我不想单击按钮,而是想将击键绑定到它。我见过许多令人困惑的方法和一些相当简单的方法。然而,我还没有找到VisualStudio2008的键绑定解决方案。所以基本上,当程序运行时,如果我按下“A”按钮,那么我希望我的程序表现得像刚刚点击的红色按钮一样。谢谢大家! 使用事件 使用表单的OnkeyPress事件: 只需在表单代码中编写此代码。您想要侦听表单上的击键事件。要执行此操作,请在Vis

我还是个编程高手,但我越来越好了

现在我正在编写一个西蒙说的游戏。有四个按钮。我的代码在功能上非常完美。但是,我不想单击按钮,而是想将击键绑定到它。我见过许多令人困惑的方法和一些相当简单的方法。然而,我还没有找到VisualStudio2008的键绑定解决方案。所以基本上,当程序运行时,如果我按下“A”按钮,那么我希望我的程序表现得像刚刚点击的红色按钮一样。谢谢大家!

使用事件

使用表单的OnkeyPress事件:


只需在表单代码中编写此代码。

您想要侦听表单上的击键事件。要执行此操作,请在VisualStudio设计器中选择表单并转到“属性”面板。单击“闪电事件”图标,然后在“向下键”事件上双击clikc

这将生成以下代码

私有void Form1\u keydown对象发送方,KeyEventArgs e { } 只要按下一个键,就会触发。接下来,您要检查单击了哪个键并进行了适当的处理

在KeyDown方法的内部,添加以下代码:

如果e.KeyCode==Keys.A { //按“A”键时执行操作 }

也可以考虑添加一个开关语句,如果你想侦听多个键并根据这个动作确定动作,例如:

开关e.KeyCode{ 案例关键。A: //预制件代码 打破 案例关键。W: //W的预制件代码 打破 //您可以添加任意数量的案例陈述。。。 } 您必须确保KeyPreview设置为true,以便在表单中正确注册键盘事件。这可以在初始化期间或在表单属性面板上完成

调用相同的代码非常简单。您可以将红色按钮单击事件调用到与击键事件相同的方法中。如果确实需要,可以将逻辑保留在button click事件中,只需调用该方法并将null作为参数传递

例如,您可以执行以下操作:

私有void Form1\u keydown对象发送方,KeyEventArgs e { 如果e.KeyCode==Keys.A { 红色按钮\点击空,空; } } 私有无效红色按钮\u单击对象发送者,事件参数e { //做红色按钮的东西 }
两件事,VisualStudio是一个开发环境,所以它不会影响您的解决方案。第二,不要担心将按键绑定到按钮,只需单击按钮并将一个按钮指向相同的方法,查找处理windows消息的按键查看其中一个键盘事件。尝试一些东西并用你的尝试更新你的问题。OP,我注意到你问了一些问题,但仍然没有接受任何答案。如果您觉得为您的问题提供的答案解决了您的问题,请单击响应旁边的复选标记,将其标记为已接受的答案。我是否应该以某种方式初始化密钥码?这是你的密码和我的唯一区别,我的钥匙密码没有点亮。如果我确实需要初始化它,它是什么类型的数据类型?我的意思是,密码从哪里来?非常感谢。不,等等,我知道了。你的指示完全正确。非常感谢。很多爱来自一个初出茅庐的程序员。
yourControl.KeyDown += new KeyEventHandler(control_KeyDown);

static void control_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.A)
    {
        //The 'A' key has been pressed
    }
}
protected override void OnKeyPress(KeyPressEventArgs e)
{
        if (e.KeyChar == 'A')
              //your code
}