2011-07-04 2 views
3

내가 필요 아무것도 특히 거기에 컨트롤을 감지하고감지 제어 이동 및 W

if (Keys.W == (Keys)vkCode && 
    Keys.Control == Control.ModifierKeys) 

를 사용하여 w 수 3 키가 2에 반대되는 것을 확인하려면 어떻게해야합니까?

+2

여분의 비트는 매우 잘못된 오타처럼 보입니다. Keys.Control ='보다는 Keys.Shift =='를 의미 했습니까? – BoltClock

+0

죄송합니다. 마지막으로 &&를 굵게 표시하여 내가 추가 한 비트를 강조했습니다. 내가 한 모든 것은 악화되었습니다 :/죄송합니다. – rik

+0

이 경우 가장 좋은 방법은 MessageBox.Show (e.KeyChar.toString()); KeyPress 이벤트 내에서 이러한 조합을 미리 표시하고 출력 내용을 확인하는 것보다 확실하지는 않지만 정수 코드를 표시합니다. – Burimi

답변

7

ModifierKeys 속성은 비트 마스크이기 때문에 ControlShift 값 모두에 대해 비트 OR을 수행해야합니다.

if (Keys.W == (Keys)vkCode && 
    (Keys.Control | Keys.Shift) == Control.ModifierKeys)