如何检测键盘上最后按下的箭头键
Posted
技术标签:
【中文标题】如何检测键盘上最后按下的箭头键【英文标题】:How can i detect which Arrow Key was pressed last on my keyboard 【发布时间】:2021-12-15 04:04:21 【问题描述】:我想在 Windows 窗体中制作蛇游戏,但不知道如何检测键盘的输入。 我已经阅读了一些解决方案,其中大多数看起来都是这样的
private void _calendar_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
switch (e.KeyCode)
case Keys.Down:
case Keys.Right:
//action
break;
case Keys.Up:
case Keys.Left:
//action
break;
但我真的不知道如何实现这样的事情,因为我有一个循环,我需要检测最后按下哪个箭头键。当我尝试调用该功能时,我不知道我必须给它什么参数。
【问题讨论】:
【参考方案1】:您需要捕获您拥有蛇的对象上的键事件。所以当这是一张图片时,需要在图片的keydown事件上做:
选择图片框,在属性(右下角)中选择您的事件。双击 KeyDown。现在您将看到如下代码。
private void PictureBox1_KeyDown(object sender, KeyEventArgs e)
您可以从这里开始实施。无需循环!
同时在游戏中,确保图片框具有焦点。如果这不是一个选项,您可以考虑在表单本身上实现该事件。
【讨论】:
以上是关于如何检测键盘上最后按下的箭头键的主要内容,如果未能解决你的问题,请参考以下文章