C#如何在KeyDown事件中响应方向键?

来源:百度知道 编辑:UC知道 时间:2024/05/18 02:59:12
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Left:
aShape.MoveShape(1, this.aShape, aBody);
break;
case Keys.Right :
aShape.MoveShape(2, this.aShape, aBody);
break;
case Keys.Up :
aShape.ChangeShape(aShape, aBody);
break;
case Keys.Down :
timer1.Interval = 100;
break ;
}
}
没反应,我换'W','A','S','D'就很正常........
求大家帮我想想
写在KeyDown事件中....
MessageBox.Show(e.KeyCode.ToString());
按字母什么的都有MESSAGE
按方向键就没反映了...键盘是好的

那你就把那个贪食蛇程序编译一下,然后运行试试呢?
那个程序肯定是可以运行的.

那么你可以用:
MessageBox.Show(e.KeyCode.ToString());
看看啊,是什么字符串,或者把我那个贪食蛇的程序对比一下不同点.

当然可以响应,参见:
http://post.baidu.com/f?ct=335675392&tn=baiduPostBrowser&sc=2178575176&z=191967117&pn=0&rn=50&lm=0&word=c%23

如下,小键盘也包括了:

private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
string key = e.KeyCode.ToString();
switch(key)
{
case "Up":
case "NumPad8":
break;
case "Right":
case "NumPad6":
break;
case "Down":
case "NumPad5":
case "Clear":
break;
case "Left":
case "NumPad4&q