Windows Forms에서 현재 누른 키를 효율적으로 감지하는 방법
Windows Forms 개발에서는 Cursors 클래스를 사용하여 커서의 실시간 위치를 쉽게 얻을 수 있습니다. 그러나 키보드 키의 현재 상태를 확인하는 것은 상대적으로 복잡합니다. 예를 들어 현재 Shift 키가 눌려져 있는지 확인할 수 있나요? 그리고 각 KeyDown 및 KeyUp 이벤트에 대한 지루한 모니터링을 피할 수 있습니까?
해결책:
다행히 이벤트를 주의 깊게 추적하지 않고도 누른 키를 감지할 수 있습니다. Shift 키를 눌렀는지 확인하려면(다른 수정자 키를 동시에 눌렀는지 여부에 관계없이) 다음 코드 조각을 사용할 수 있습니다.
<code class="language-c#">if ((Control.ModifierKeys & Keys.Shift) != 0)</code>
이 메서드는 Control.ModifierKeys 및 Keys.Shift 값의 비트 AND 연산 결과가 0이 아닌지 평가합니다. 결과가 true이면 Shift 키를 눌렀다고 결론을 내릴 수 있습니다.
Shift 키만 눌리고 다른 수정자 키는 활성화되지 않도록 하려면 다음과 같이 검사를 개선할 수 있습니다.
<code class="language-c#">if (Control.ModifierKeys == Keys.Shift)</code>
Control을 상속하는 클래스(예: 양식)에서 작업하는 경우 Control 참조를 생략하여 코드를 더 깔끔하게 만들 수 있습니다.
위 내용은 현재 Windows Forms에서 어떤 키보드 키가 눌려져 있는지 효율적으로 확인하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!