WPF MouseLeftButtonDown 이벤트 핸들러의 Ctrl 키 누름 조건
WPF에 특정 키보드 키에 대한 추가 조건을 추가하는 방법MouseLeftButtonDown
이벤트 이벤트?
예: + 키
private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
...
}
private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) {
if(Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)) {
MessageBox.Show("Control key is down");
} else {
MessageBox.Show("Control key is up");
}
}
한정자만 탐지하려는 경우 다음을 사용할 수도 있습니다.
if (Keyboard.Modifiers == ModifierKeys.Control) {}
if (Keyboard.Modifiers == ModifierKeys.Shift) {}
기타. 여기 더 있습니다.
.NET 4.0에서는 다음을 사용할 수 있습니다.
Keyboard.Modifiers.HasFlag(ModifierKeys.Control)
위에서 그르제고르즈 고들레프스키가르츠 고들레프스키는Keyboard.Modifiers.HasFlag(ModifierKey.Control)
사용할 수 있습니다.
@l33t는 성능이 그다지 뛰어나지 않다고 지적하지만, 코멘트에 따르면 성능이 개선된 것으로 보입니다.HasFlag
.NET 4.5/4.6. (Enum을 만드는 것은 무엇인가의 벤치마크 결과 참조).깃발이 그렇게 느렸나요?아래의 의견 및 이 답변에도 포함됩니다.)
그러나 여기서의 결론으로 판단하면 여전히 기본 검사(즉, flagsToCheck & flags!= 0)를 수행하는 것만큼 빠른 것은 없습니다.
언급URL : https://stackoverflow.com/questions/1861195/ctrl-key-press-condition-in-wpf-mouseleftbuttondown-event-handler
'programing' 카테고리의 다른 글
배열이 비어 있는지 확인(vba excel) (0) | 2023.07.08 |
---|---|
왜 마이크로소프트가.사무실. 인터럽트.Excel. 지원서.종료() 백그라운드 프로세스를 실행 상태로 두시겠습니까? (0) | 2023.07.08 |
VBA: Excel에서 필터링된 행을 삭제하는 방법은 무엇입니까? (0) | 2023.07.08 |
Python 중첩 함수 변수 범위 지정 (0) | 2023.07.08 |
새 리포지토리에서 오리진 마스터 푸시 오류 (0) | 2023.07.08 |