确定是否在 Windows 表单中按下了键

Determine if key was pressed in Windows Forms

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

我需要确定是否按下了计时器中的键。 游戏基本上是移动标签或图片框等对象 - 它们的位置通过计时器更改,我需要确定何时按下键。

我制作了与 consoleApplication 相同的游戏,我想为它制作一个 "graphic interface",但显然我不能使用我的这部分代码:

if (Console.KeyAvailable)
    {
    ...
    }

我对 C# 和编程本身还很陌生,所以如果我的问题很愚蠢,我真的很抱歉:-)

只需处理将获得焦点的控件的 KeyPress 事件。

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

您应该将此添加到您的 Form1 class:

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