【发布时间】:2018-02-28 12:53:29
【问题描述】:
首先我不能用
KeyEventArgs.SuppressKeyPress
因为我使用 Key_Down 事件来监听用户的输入,本质上我正在制作 Pacman 游戏,并且当用户按下 W 或 S 或 A 或 D Windows 发出“叮”的声音。我想禁用它,但我不知道怎么做。 我的 Key_Down 方法:
if (e.KeyCode == Keys.A) //A press moves left
{
k = 1;
left = true;
right = false;
up = false;
down = false;
}
else if(e.KeyCode == Keys.D) //D press moves right
{
k = 3;
left = false;
right = true;
up = false;
down = false;
}
else if(e.KeyCode == Keys.S)
{
k = 2;
left = false;
right = false;
up = false;
down = true;
}
else if(e.KeyCode == Keys.W)
{
k = 4;
left = false;
right = false;
up = true;
down = false;
}
我的表单使用了我在用户按下“开始”按钮时禁用的按钮。 我用:
Button.Disable = true;
这可能是由于按钮仍在侦听用户输入还是什么引起的?
我还有一些标签和一个列表框,我也需要禁用它们吗?
【问题讨论】:
-
将事件设置为已处理?
-
我将它设置为已处理,但它仍然发出声音
-
链接代码也使用
e.SuppressKeyPress = true。你应该试试。 -
你必须下定决心。您可以使用 wasd 移动游戏对象或您可以将其用于文本输入。两者都不是。