키스트 로크가 Alt + Shift + Ctrl + 문자를 사용하면 어떻게 처리 할 수 있는지 알 수 있습니다.C# winforms 앱의 키 입력 조합
0
A
답변
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 :이 코드가 대상 객체의 클래스 정의 안에 있다면이 메서드를 재정의하고, 그렇지 않으면 이벤트를 사용합니다. –
확인이 Q & A : http://stackoverflow.com/questions/865774/c-getting-the-correct-keys- pressed-from-keyeventargs-keydata –