KeyDown事件无法正常工作。但是没有错误

时间:2014-04-01 21:09:47

标签: c# winforms

所以我的KeyDown事件无法正常工作。 pacman出现在地图上,但没有响应任何按键。没有错误。

这里是(Gameboard是表单的名称,mapPictureBox是图片框的名称):

private void Gameboard_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Down)
    {
        pacman.yPosition += 10;
    }
    else if (e.KeyCode == Keys.Up)
    {
        pacman.yPosition -= 10;
    }
    else if (e.KeyCode == Keys.Left)
    {
        pacman.xPosition -= 10;
    }
    else if (e.KeyCode == Keys.Right)
    {
        pacman.xPosition += 10;
    }
    mapPictureBox.Invalidate();
}

我在顶部声明了一个MovingPacman类的实例(我称之为图像:

MovingPacman pacman = new MovingPacman();

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

将表单的 KeyPreview 属性设置为True。默认情况下,编辑控件使用键事件,此属性使表单能够在控件执行之前处理事件。 查看this