【问题标题】:Determine if key was pressed in Windows Forms确定是否在 Windows 窗体中按下了键
【发布时间】:2015-11-18 17:43:25
【问题描述】:

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

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

我做了一个和consoleApplication一样的游戏,我想为它做一个“图形界面”,但显然我不能使用我的这部分代码:

if (Console.KeyAvailable)
    {
    ...
    }

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

【问题讨论】:

标签: c# winforms visual-studio-2015 keypress


【解决方案1】:

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

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

【讨论】:

  • 谢谢 :-) 我不知道有焦点这样的东西。
  • @Megabight,很高兴知道它的用途
【解决方案2】:

你应该在你的 Form1 类中添加这个:

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

【讨论】:

    猜你喜欢
    • 2011-08-01
    • 1970-01-01
    • 2011-06-22
    • 2014-01-15
    • 2011-09-22
    • 2018-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多