윈폼으로 각종 툴을 만들 때 단축키를 만들어야할 때가 있습니다.(저같은 단축키마니아한테는요 ㅎ)
보통 생각할 때 KeyDown이벤트를 잡아서 처리하면 될 것이라 생각하고 했지만....
안되더라는....그래서 개발자의 신이신 Google에게 어쭈어보았습니다..
Google님께서는 저에게 ProcessCmdKey메소드를 오버라이드 하라고 하더군요..

그래서 해봤습니다..
 
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
        if (!base.ProcessCmdKey(ref msg, keyData)) // 처리가 되지 않았다면
        {
                // 처리하고 싶은 것을 처리하도록 코딩한다
                if (keyData.Equals(Keys.F1))
                {
                        //요런식으로?
                        return true;
                }
                else
                {
                        return false;
                }
        }
        else
        {
                return true;
        }
}

간단하죠?ㅎ..

출처 : http://zeru.kr/blog/539 
Posted by 아르다