首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请教c#如何避免键盘的“上/下/左/右”事件

2012-01-29 
请问c#如何处理键盘的“上/下/左/右”事件?rt[解决办法]参看这两个文章:(1)http://www.cnblogs.com/4kapple/

请问c#如何处理键盘的“上/下/左/右”事件?
rt

[解决办法]
参看这两个文章:
(1)http://www.cnblogs.com/4kapple/archive/2009/03/02/1401462.html
(2)http://support.microsoft.com/kb/320584/zh-cn#top
在第一篇文章中给出了两个方法来解决这个问题:
代码如下:
 protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
const int WM_KEYDOWN = 0x100;
const int WM_SYSKEYDOWN = 0x104;

if ((msg.Msg == WM_KEYDOWN) || (msg.Msg == WM_SYSKEYDOWN))
{
switch (keyData)
{
case Keys.Down:
this.Text = "Down";
break;

case Keys.Up:
this.Text = "Up";
break;

case Keys.Right:
this.Text = "Right";
break;

case Keys.Left:
this.Text = "Left";
break;
}
}

return base.ProcessCmdKey(ref msg, keyData);

//return base.ProcessCmdKey(ref msg, keyData);
}
重写ProcessCmdKey方法,具体的参考一下第二篇文章。
这样的话就可以实现你要求的功能了

热点排行