C# 确定是否在Windows窗体中按了键

C# 确定是否在Windows窗体中按了键,c#,winforms,visual-studio-2015,keypress,C#,Winforms,Visual Studio 2015,Keypress,我想在C#Windows窗体应用程序中制作一个游戏。 (这可能是个坏主意吗?:D) 我需要确定我的计时器中是否按下了键。 游戏基本上是像标签或图片盒这样的物体在移动——它们的位置是通过定时器改变的,我需要确定什么时候按键 我制作了与控制台应用程序相同的游戏,我想为它制作一个“图形界面”,但显然我不能使用我代码的这一部分: if (Console.KeyAvailable) { ... } 我对c#和编程本身相当陌生,因此如果我的问题很愚蠢,我真的很抱歉:-)只需处理控件

我想在C#Windows窗体应用程序中制作一个游戏。 (这可能是个坏主意吗?:D)

我需要确定我的计时器中是否按下了键。 游戏基本上是像标签或图片盒这样的物体在移动——它们的位置是通过定时器改变的,我需要确定什么时候按键

我制作了与控制台应用程序相同的游戏,我想为它制作一个“图形界面”,但显然我不能使用我代码的这一部分:

if (Console.KeyAvailable)
    {
    ...
    }

我对c#和编程本身相当陌生,因此如果我的问题很愚蠢,我真的很抱歉:-)

只需处理控件的
按键事件,它将具有焦点


对于按键事件,事件参数的类型为
KeyPressEventArgs
,它将为您提供按下哪个键的详细信息

您应该在Form1类中添加此参数:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (keyData == Keys.A) MethodForProcessingTheKey();//for example
    return base.ProcessCmdKey(ref msg, keyData);
}

可能重复的可能重复的可能重复的谢谢:-)我不知道有焦点这样的东西。@Megabight,很高兴知道它