2009-10-24 6 views
2

내 응용 프로그램의 기본 창인 여러 개의 특수 컨트롤이있는 양식이 있습니다. 응용 프로그램이 포커스가있는 컨트롤이나 그와 같은 것보다는 폼 수준에서 실행되는 동안 모든 키 누르기를 캡처하고 싶습니다. WinForms에서이 작업을 수행하는 표준 방법은 무엇입니까?폼 레벨에서 키보드 다루기

+0

체크 아웃 : http://stackoverflow.com/questions/400113/best-way-to-implement-keyboard-shortcuts-in-winforms –

답변

3

set Form.PreviewKeys = true이면 모든 키보드 이벤트가 발생합니다.

+0

괜찮습니다. 난 그냥 ProcessCmdKey 이벤트를 overrode 그리고 그것은 작동하는 것 같습니다. – captncraig

+0

동일한 키를 수신하는 양식에 다른 컨트롤이없는 한 작동합니다. 예를 들어 폼 수준에서 F2를 잡으려고하지만 F2를 ToolStripMenuItem에 대한 바로 가기로 정의한 경우에는 가져올 수 없습니다. –

1

양식의 KeyPreview 속성을 true로 설정하고 keypress 이벤트 중 하나를 처리하십시오.