키보드 이벤트 사용(Windows Forms .NET)

대부분 Windows Forms 프로그램에서는 키보드 이벤트를 처리하는 방식으로 키보드 입력을 처리합니다. 이 문서에서는 각 이벤트를 사용하는 시기 및 각 이벤트와 관련해서 제공되는 데이터에 대한 세부 정보를 포함하여 키보드 이벤트를 간략하게 설명합니다. 일반적인 이벤트 관련 세부 내용은 이벤트 개요(Windows Forms .NET)를 참조하세요.

중요

.NET 7 및 .NET 6에 관한 데스크톱 가이드 설명서는 제작 중입니다.

키보드 이벤트

Windows Forms에서는 사용자가 키보드 키를 누를 때 발생하는 두 가지 이벤트와 사용자가 키보드 키를 놓을 때 발생하는 한 가지 이벤트를 제공합니다.

  • 한 번 발생하는 KeyDown 이벤트.
  • 사용자가 같은 키를 누르고 있을 때 여러 번 발생할 수 있는 KeyPress 이벤트.
  • 사용자가 키를 놓을 때 한 번 발생하는 KeyUp 이벤트.

사용자가 키를 누를 때 Windows Forms에서는 키보드 메시지가 문자 키 또는 물리적 키를 지정하는지에 따라 발생할 이벤트를 결정합니다. 문자 및 물리적 키에 대한 자세한 내용은 키보드 개요, 키보드 이벤트를 참조하세요.

다음 표에서는 세 가지 키보드 이벤트에 대해 설명합니다.

키보드 이벤트 Description 결과
KeyDown 이 이벤트는 사용자가 물리적 키를 누를 때 발생합니다. KeyDown에 대한 처리기는 다음을 수신합니다.

  • 물리적 키보드 단추를 지정하는 KeyCode 속성을 제공하는 KeyEventArgs 매개 변수.
  • Modifiers 속성(SHIFT, CTRL 또는 ALT).
  • 키 코드 및 한정자를 결합하는 KeyData 속성. KeyEventArgs 매개 변수는 다음을 제공합니다.

    • 기본 컨트롤의 키 수신을 방지하도록 설정될 수 있는 Handled 속성.
    • 해당 키 입력에 대한 KeyPressKeyUp 이벤트를 억제하는 사용될 수 있는 SuppressKeyPress 속성.
KeyPress 이 이벤트는 키를 하나 이상 눌러서 문자가 표시될 때 발생합니다. 예를 들어 사용자가 SHIFT 키와 소문자 "a" 키를 누르면 대문자 "A" 문자가 표시됩니다. KeyPressKeyDown 뒤에 발생합니다.

  • KeyPress에 대한 처리기는 다음을 수신합니다.
  • 눌린 키의 문자 코드가 포함된 KeyPressEventArgs 매개 변수. 이 문자 코드는 모든 문자 키 및 한정자 키 조합에 대해 고유합니다.

    예를 들어 "A" 키는 다음을 생성합니다.

    • 문자 코드 65, SHIFT 키와 함께 누른 경우
    • 또는 CAPS LOCK 키, 97, 키 자체를 누른 경우
    • 및 1, CTRL 키와 함께 누른 경우.
KeyUp 이 이벤트는 사용자가 물리적 키를 놓을 때 발생합니다. KeyUp에 대한 처리기는 다음을 수신합니다.

  • KeyEventArgs 매개 변수:

    • 물리적 키보드 단추를 지정하는 KeyCode 속성을 제공.
    • Modifiers 속성(SHIFT, CTRL 또는 ALT).
    • 키 코드 및 한정자를 결합하는 KeyData 속성.

참고 항목