所以我在c#中使用表格(类似于蛇游戏)构建游戏,我想用箭头键导航玩家。在玩游戏的网格(板)附近,我有几个按钮,如;暂停,开始等。当我单击箭头键时,焦点位于按钮上(它正在浏览按钮),而不是移动播放器。我怎么能改变这个?
的问候,
亨克
答案 0 :(得分:0)
首先,您必须将表单KeyPreview
设置为true并在设计器中订阅表单的KeyDown
事件,或将此行添加到表单的构造函数中:
this.KeyPreview = true;
this.KeyDown += Form1_KeyDown;
然后,为keydown事件添加此代码。基本上,它告诉事件,如果按下的键是箭头之一,则按键已经被处理:
private void Form3_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode==Keys.Up || e.KeyCode == Keys.Down || e.KeyCode == Keys.Left ||e.KeyCode == Keys.Right)
{
e.Handled = true;
MovePlayer(e.KeyCode);
}
}
private void MovePlayer(Keys key)
{
switch (key)
{
case Keys.Up:
// your player moveup code
break;
...
}
}