WinForm中应用方向键
2008-04-16 23:52 老羽 阅读(458) 评论(1) 编辑 收藏 举报
今天才发现,原来KeyDown事件,处理不了Keys.Down,Keys.Up,Keys.Left,Keys.Right这4个键。当在窗体上按下这4个键时,会在窗体的控件上切换焦点,不会触发KeyDown事件。如何处理方向键呢,可以利用ProcessCmdKey,代码如下:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
const int WM_SYSKEYDOWN = 260;
const int WM_KEYDOWN = 256;
if(msg.Msg == WM_KEYDOWN || msg.Msg == WM_SYSKEYDOWN)
{
switch(keyData)
{
//do something
}
}
在这里可以处理方向键盘。