表单KeyDown事件不起作用 [英] Form KeyDown event doesn't work

查看:189
本文介绍了表单KeyDown事件不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

嗨 我试图通过下面的代码来控制窗体面板上对象的移动,但是它不起作用,我应该使用其他事件(例如:"KeyPress"还是...)?
代码:

Hi I''m trying to control the movement of an object on a panel on my form by below code, but it doesn''t work, should I use another event(like:"KeyPress" or ...) ?
code:

bool up = false, down = false, left = false, right = false;
private void Main_KeyDown(object sender, KeyEventArgs e)
       {
           if (e.KeyData == Keys.Up)
           { up = true; down = false; left = false; right = false; }
           else if (e.KeyData == Keys.Down)
           { up = false; down = true; left = false; right = false; }
           else if (e.KeyData == Keys.Left)
           { up = false; down = false; left = true; right = false; }
           else if (e.KeyData == Keys.Right)
           { up = false; down = false; left = false; right = true; }
       }


在此先感谢您.


Thanks in advance.

推荐答案

在表单上设置KeyPreview = True.
参考: http://msdn.microsoft.com/en-us/library/system.windows.forms.form.keypreview.aspx [
Set KeyPreview = True on your form.
Ref:http://msdn.microsoft.com/en-us/library/system.windows.forms.form.keypreview.aspx[^]


这篇关于表单KeyDown事件不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆