2009-10-07 6 views
0

키스트 로크가 Alt + Shift + Ctrl + 문자를 사용하면 어떻게 처리 할 수 ​​있는지 알 수 있습니다.C# winforms 앱의 키 입력 조합

+0

확인이 Q & A : http://stackoverflow.com/questions/865774/c-getting-the-correct-keys- pressed-from-keyeventargs-keydata –

답변

4
override void OnKeyDown(object sender, KeyEventArgs e) 
{ 
    bool myKeysPressed = (e.KeyCode == Keys.A) && 
         ((e.Modifiers & Keys.Alt) == Keys.Alt) && 
         ((e.Modifiers & Keys.Shift) == Keys.Shift) && 
         ((e.Modifiers & Keys.Control) == Keys.Control); 
} 
3

SAMES 에드의, 그러나 짧고 더 읽기 등)

override void OnKeyDown(object sender, KeyEventArgs e) 
{ 
    bool myKeysPressed = (e.KeyCode == Keys.A) && 
          e.Alt && 
          e.Shift && 
          e.Control; 
} 
+0

왜 오버라이드해야합니까? 그냥 keydown 이벤트에 이벤트 처리기를 추가 할 수 있습니까? – Grant

+1

예, 이벤트 처리기에서 동일한 작업을 수행 할 수 있습니다. –

+0

아, 그 속성이 있는지조차 알지 못했습니다. @ Grant :이 코드가 대상 객체의 클래스 정의 안에 있다면이 메서드를 재정의하고, 그렇지 않으면 이벤트를 사용합니다. –