먼저 각 이벤트의 차이점을 이해하세요.
KeyDown: 컨트롤에 포커스가 있을 때 키를 눌렀을 때 발생합니다.
KeyPress: 컨트롤에 포커스가 있을 때 키를 눌렀을 때 발생합니다.
KeyUp: In은 컨트롤에 포커스가 있을 때 키를 눌렀을 때 발생합니다. 컨트롤에 포커스가 있으면 키를 놓습니다.
1. KeyPress는 주로 문자, 숫자 등 ANSI 문자를 수신하는 데 사용됩니다. KeyDown 및 KeyUP 이벤트 프로세스는 일반적으로 PrScrn을 제외한 키보드의 모든 키를 캡처할 수 있습니다(특수 키보드의 특수 키는 여기서 논의되지 않습니다
2. KeyPress는 단일 문자만 캡처할 수 있는 반면 KeyDown 및 KeyUp은 키 조합을 캡처할 수 있음). .
3. KeyPress는 키보드(SHIFT 키)의 물리적 상태를 표시하지 않고 문자만 전달합니다. KeyPress는 각 문자의 대문자와 소문자 형태를 서로 다른 키 코드, 즉 KeyDown으로 해석합니다. KeyUp은 사용할 수 없습니다. KeyDown 및 KeyUp은 두 가지 매개변수를 사용하여 각 문자의 대문자 및 소문자 형식을 해석합니다. keycode - 물리적 키(A와 a를 동일한 키로 반환)를 표시합니다. 이는 키의 이동을 나타내며 A 또는 a 중 하나를 반환합니다.
5. KeyPress는 작은 키보드의 숫자를 구분하지 않으며 KeyDown 및 KeyUp은 숫자를 구분합니다. 작은 키보드와 기본 키보드.
6. , KeyDown, KeyUp 이벤트는 키를 눌렀을 때(KeyDown) 또는 놓았을 때(KeyUp) 발생하는 경우가 많습니다. 마우스), 이 두 이벤트에 사용할 항목은 크지 않습니다. 또한 up과 다른 두 이벤트 사이에는 또 다른 차이점이 있습니다. 즉, 키의 수정된 상태를 확인하려면 up을 사용해야 합니다. keydown 이벤트를 통해 사용자의 입력을 방지할 수 있습니다. 예를 들어 특정 입력 필드에는 키보드의 숫자 키
keyCode
[48-57] 숫자 키만 사용할 수 있습니다.
[96-105] 숫자키패드
추가적으로 백스페이스키로 삭제가 가능합니다
코드는 다음과 같습니다