키를 눌렀을 때 키 업 이벤트가 트리거됩니다. 이것은 a, b 등의 일반 키에는 적용됩니다. 그러나 화살표 키 또는 escape 키를 누르면 다른 결과가 나옵니다. 키를 놓을 때 키 업 이벤트를 시작하는 대신 키 다운 이벤트가 발생하면 곧 바로 시작됩니다. 따라서 화살표 키를 길게 누르면 여러 번 키를 눌렀다 놓는 속도가 매우 빨라집니다. 설명과 해결 방법을 통해 키가 실제로 해제되었는지 확인하십시오..NET의 키보드 이벤트
2
A
답변
3
키를 놓을 때까지 KeyUp 이벤트가 실제로 실행되지 않습니다 (화살표 키가 아닌 모든 키). KeyDown 이벤트가 반복적으로 많이 발생합니다. 적어도, 그것은 그것이 어떤 테스트 코드에서 나에게 보이는 방식이다.
내 해결 방법은 KeyDown 이벤트이어서
RemoveHandler Me.KeyDown, AddressOf Form1_KeyDown
하고 다시 사용하도록 KeyUp 이벤트가 소성하여 검출 후 처리기에서 KeyDown을 해제한다.
AddHandler Me.KeyDown, AddressOf Form1_KeyDown
물론 여러 개의 키를 동시에 눌러서 처리하려는 경우에는 작동하지 않습니다. 문제의 키가 이미 다운 되었는 지 여부를 저장하고 각각의 KeyDown 이벤트를 무시해야합니다.
1
비슷한 문제가 발생했습니다. 키보드 핸들러는 이상한 동작 :
초점과 핸들러는 텍스트 상자에있는 경우 : 여러 눌러 다운 이벤트가
- , 내가 가진 생산하고
KeyPreview가 활성화 된 양식의 이벤트를 처리하는 경우 화살표 키의 KeyUp 이벤트 만 처리됩니다.
ProcessCmdKey를 재정 의하여 하위 수준의 모든 키를 처리 할 수 있습니다.
당신은 왼쪽 화살표 키를 처리하는 경우
Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
Select Case keyData
Case Keys.Left
Debug.WriteLine("Left")
Return True
Case Else
Return MyBase.ProcessCmdKey(msg, keyData)
End Select
End Function
을
관련 문제
- 1. 키보드 이벤트
- 2. 키보드 이벤트
- 3. .NET의 섀도 잉 이벤트
- 4. .net의 이벤트 서명 패턴
- 5. 키보드 이벤트 문제
- 6. C에서 키보드 이벤트 감지
- 7. Android : 키보드 이벤트 핸들러
- 8. C++ Win32 키보드 이벤트
- 9. 파이썬에서 키보드 이벤트 처리하기
- 10. 키보드 스트로크 이벤트 처리
- 11. Ruby 키보드 이벤트 처리
- 12. 키보드 이벤트 처리
- 13. 키보드 android 이벤트?
- 14. 키보드 이벤트 게시
- 15. 키보드 이벤트 시뮬레이션
- 16. C++ 콘솔 키보드 이벤트
- 17. UICatalog 및 키보드 이벤트
- 18. iphone 키보드 터치 이벤트
- 19. .net의 자식 컨트롤로 키보드 입력 리디렉션
- 20. .NET의 전화 통신 이벤트 알림
- 21. Dojox GFX에서 키보드 이벤트 캡처
- 22. javascript : 키보드 이벤트 디버그 방법
- 23. 수업 내 AS3 키보드 이벤트?
- 24. WPF에서 키보드 이벤트 시뮬레이션 Textbox
- 25. 키보드 이벤트 발생, 웹킷 키보드 이벤트가 실행되지 않음
- 26. 하나의 Windows 컨트롤에서 다른 키보드 컨트롤로 키보드 이벤트 전달
- 27. .net의 플러그인 아키텍처 및 이벤트 처리
- 28. .NET의 사용자 지정 이벤트 디자인 패턴
- 29. SQLite에서 .NET의 DB 업데이트 이벤트 수신
- 30. 액션 스크립트 3.0 키보드 이벤트 리스너는 내가 문자 A의 KEY_DOWN 및 D 수신이 키보드 이벤트 리스너가