代码改变世界

WinForm中应用方向键

2008-04-16 23:52  老羽  阅读(453)  评论(1编辑  收藏  举报
  今天才发现,原来KeyDown事件,处理不了Keys.Down,Keys.Up,Keys.Left,Keys.Right4个键。当在窗体上按下这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

        }

}

在这里可以处理方向键盘。