c# 怎样响应方向键? KeyDown中不能响应方向键

c#怎样响应方向键?KeyDown中不能响应方向键,换成字母键就行,是什么原因?求指导privatevoidForm1_KeyDown(objectsender,KeyE... c# 怎样响应方向键? KeyDown中不能响应方向键,换成字母键就行,是什么原因?求指导
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Up)
p.MoveLeft();
else if (e.KeyData == Keys.Right)
p.MoveRight();
else if (e.KeyData == Keys.Up)
p.MoveUp();
else if (e.KeyData == Keys.Down)
p.MoveDown();

else if (e.KeyData == Keys.A)
p.MoveLeft();
else if (e.KeyData == Keys.D)
p.MoveRight();
else if (e.KeyData == Keys.W)
p.MoveUp();
else if (e.KeyData == Keys.S)
p.MoveDown();
}
展开
 我来答
天中城
2011-05-06
知道答主
回答量:13
采纳率:0%
帮助的人:15.4万
展开全部
你的窗体中是否有其它控件,比如按钮,标签,你按上下左右选中的是那些控件,光标在它们上面移动,不能控制游戏中的画面,我以前在编写俄罗斯方块的时候碰上过···
追问
有两个标签和一个按钮,在ProcessCmdKey里写就能用了,编俄罗斯方块的时候也是在KeyDown事件里写的(能用)
追答
KeyData  获取的是获取 KeyDown 或 KeyUp 事件的键数据。
KeyCode 获取 KeyDown 或 KeyUp 事件的键盘代码。
你试试 KeyCode 我用写俄罗斯方块用的是KeyCode
例如 if(e.KeyCode == Keys.Down)
百度网友fcc2519
2011-05-06 · TA获得超过596个赞
知道小有建树答主
回答量:1102
采纳率:0%
帮助的人:264万
展开全部
挨个试试
Keys.Down
Keys.VolumeDown
Keys.PageDown

还要查查键盘的Down键是不是坏了。

这句不对吧,明明是Keys.Left
if (e.KeyData == Keys.Up)
p.MoveLeft();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冰之军
2011-05-06 · 超过13用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:42万
展开全部
用KeyPress试一试你响应键的码。。看事件是否触发
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
垂钓是一种生活
2011-05-06
知道答主
回答量:40
采纳率:0%
帮助的人:13.1万
展开全部
先测试普通事件在合理环境下是否执行,然后在测试其他更深的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式