【发布时间】:2012-12-27 23:18:59
【问题描述】:
我正在使用 C# 制作 pong,但遇到了一个问题。我打开了 KeyPreview,这是我的代码
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Up || e.KeyChar == (char)Keys.W) {
picPaddle.Top -= 10;
}
else if (e.KeyChar == (char)Keys.Down || e.KeyChar == (char)Keys.S) {
picPaddle.Top += 10;
}
}
当我按下任何键时,什么都没有发生。按键唯一起作用的情况是它测试 (char)Keys.Enter 的条件。为什么是这样?如何使表单采用 KeyPress 键而不是输入键?
【问题讨论】:
-
在第一个
if上设置断点 - 任何按键都会中断执行吗?如果是这样,请调查e以获取有关您的条件未得到满足的线索。