Keys 열거형

정의

키 코드 및 한정자를 지정합니다.

이 열거형은 멤버 값의 비트 조합을 지원합니다.

public enum class Keys
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.KeysConverter))]
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
public enum Keys
[System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.KeysConverter))]
[System.Flags]
public enum Keys
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.KeysConverter))>]
[<System.Flags>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Keys = 
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Forms.KeysConverter))>]
[<System.Flags>]
type Keys = 
Public Enum Keys
상속
특성

필드

Name Description
Modifiers -65536

키 값에서 한정자를 추출할 비트 마스크입니다.

None 0

키를 누르지 않았습니다.

LButton 1

마우스 왼쪽 단추입니다.

RButton 2

마우스 오른쪽 단추입니다.

Cancel 3

CANCEL 키입니다.

MButton 4

마우스 가운데 단추(3개 단추 마우스)입니다.

XButton1 5

첫 번째 x 마우스 단추(5개 단추 마우스)입니다.

XButton2 6

두 번째 x 마우스 단추(5개 단추 마우스)입니다.

Back 8

BACKSPACE 키입니다.

Tab 9

TAB 키입니다.

LineFeed 10

LINEFEED 키입니다.

Clear 12

CLEAR 키입니다.

Enter 13

ENTER 키입니다.

Return 13

RETURN 키입니다.

ShiftKey 16

SHIFT 키입니다.

ControlKey 17

Ctrl 키입니다.

Menu 18

ALT 키입니다.

Pause 19

PAUSE 키입니다.

Capital 20

CAPS LOCK 키입니다.

CapsLock 20

CAPS LOCK 키입니다.

HanguelMode 21

IME 한글 모드 키입니다. (호환성을 위해 유지 관리됨, 사용 HangulMode)

HangulMode 21

IME 한글 모드 키입니다.

KanaMode 21

IME Kana 모드 키입니다.

JunjaMode 23

IME Junja 모드 키입니다.

FinalMode 24

IME 최종 모드 키입니다.

HanjaMode 25

IME Hanja 모드 키입니다.

KanjiMode 25

IME 간지 모드 키입니다.

Escape 27

ESC 키입니다.

IMEConvert 28

IME 변환 키입니다.

IMENonconvert 29

IME 변환되지 않는 키입니다.

IMEAccept 30

IME 수락 키가 바뀝니다.IMEAceept

IMEAceept 30

IME 수락 키입니다. 사용되지 않습니다. 대신 사용합니다 IMEAccept .

IMEModeChange 31

IME 모드 변경 키입니다.

Space 32

스페이스바 키입니다.

PageUp 33

PAGE UP 키입니다.

Prior 33

PAGE UP 키입니다.

Next 34

PAGE DOWN 키입니다.

PageDown 34

PAGE DOWN 키입니다.

End 35

END 키입니다.

Home 36

HOME 키입니다.

Left 37

왼쪽 화살표 키입니다.

Up 38

위쪽 화살표 키입니다.

Right 39

오른쪽 화살표 키입니다.

Down 40

아래쪽 화살표 키입니다.

Select 41

SELECT 키입니다.

Print 42

PRINT 키입니다.

Execute 43

EXECUTE 키입니다.

PrintScreen 44

인쇄 화면 키입니다.

Snapshot 44

인쇄 화면 키입니다.

Insert 45

INS 키입니다.

Delete 46

DEL 키입니다.

Help 47

도움말 키입니다.

D0 48

0 키입니다.

D1 49

1 키입니다.

D2 50

2 키입니다.

D3 51

3 키입니다.

D4 52

4 키입니다.

D5 53

5 키입니다.

D6 54

6 키입니다.

D7 55

7 키입니다.

D8 56

8 키입니다.

D9 57

9 키입니다.

A 65

A 키입니다.

B 66

B 키입니다.

C 67

C 키입니다.

D 68

D 키입니다.

E 69

E 키입니다.

F 70

F 키입니다.

G 71

G 키입니다.

H 72

H 키입니다.

I 73

I 키입니다.

J 74

J 키입니다.

K 75

K 키입니다.

L 76

L 키입니다.

M 77

M 키입니다.

N 78

N 키입니다.

O 79

O 키입니다.

P 80

P 키입니다.

Q 81

Q 키입니다.

R 82

R 키입니다.

S 83

S 키입니다.

T 84

T 키입니다.

U 85

U 키입니다.

V 86

V 키입니다.

W 87

W 키입니다.

X 88

X 키입니다.

Y 89

Y 키입니다.

Z 90

Z 키입니다.

LWin 91

왼쪽 Windows 로고 키(Microsoft Natural Keyboard)입니다.

RWin 92

오른쪽 Windows 로고 키(Microsoft Natural Keyboard)입니다.

Apps 93

애플리케이션 키(Microsoft 내추럴 키보드)입니다.

Sleep 95

컴퓨터 절전 모드 키입니다.

NumPad0 96

숫자 키패드의 0 키입니다.

NumPad1 97

숫자 키패드의 1 키입니다.

NumPad2 98

숫자 키패드의 2 키입니다.

NumPad3 99

숫자 키패드의 3개 키입니다.

NumPad4 100

숫자 키패드의 4개 키입니다.

NumPad5 101

숫자 키패드의 5개 키입니다.

NumPad6 102

숫자 키패드의 6 키입니다.

NumPad7 103

숫자 키패드의 7 키입니다.

NumPad8 104

숫자 키패드의 8 키입니다.

NumPad9 105

숫자 키패드의 9 키입니다.

Multiply 106

곱하기 키입니다.

Add 107

추가 키입니다.

Separator 108

구분 키입니다.

Subtract 109

빼기 키입니다.

Decimal 110

10진수 키입니다.

Divide 111

나누기 키입니다.

F1 112

F1 키입니다.

F2 113

F2 키입니다.

F3 114

F3 키입니다.

F4 115

F4 키입니다.

F5 116

F5 키입니다.

F6 117

F6 키입니다.

F7 118

F7 키입니다.

F8 119

F8 키입니다.

F9 120

F9 키입니다.

F10 121

F10 키입니다.

F11 122

F11 키입니다.

F12 123

F12 키입니다.

F13 124

F13 키입니다.

F14 125

F14 키입니다.

F15 126

F15 키입니다.

F16 127

F16 키입니다.

F17 128

F17 키입니다.

F18 129

F18 키입니다.

F19 130

F19 키입니다.

F20 131

F20 키입니다.

F21 132

F21 키입니다.

F22 133

F22 키입니다.

F23 134

F23 키입니다.

F24 135

F24 키입니다.

NumLock 144

NUM LOCK 키입니다.

Scroll 145

SCROLL LOCK 키입니다.

LShiftKey 160

왼쪽 SHIFT 키입니다.

RShiftKey 161

오른쪽 SHIFT 키입니다.

LControlKey 162

왼쪽 Ctrl 키입니다.

RControlKey 163

오른쪽 Ctrl 키입니다.

LMenu 164

왼쪽 ALT 키입니다.

RMenu 165

오른쪽 ALT 키입니다.

BrowserBack 166

브라우저 뒤로 키입니다.

BrowserForward 167

브라우저 앞으로 키입니다.

BrowserRefresh 168

브라우저 새로 고침 키입니다.

BrowserStop 169

브라우저 중지 키입니다.

BrowserSearch 170

브라우저 검색 키입니다.

BrowserFavorites 171

브라우저 즐겨찾기 키입니다.

BrowserHome 172

브라우저 홈 키입니다.

VolumeMute 173

볼륨 음소거 키입니다.

VolumeDown 174

볼륨 다운 키입니다.

VolumeUp 175

볼륨 업 키입니다.

MediaNextTrack 176

미디어 다음 트랙 키입니다.

MediaPreviousTrack 177

미디어 이전 트랙 키입니다.

MediaStop 178

미디어 중지 키입니다.

MediaPlayPause 179

미디어 재생 일시 중지 키입니다.

LaunchMail 180

시작 메일 키입니다.

SelectMedia 181

미디어 선택 키입니다.

LaunchApplication1 182

시작 애플리케이션 하나의 키입니다.

LaunchApplication2 183

시작 애플리케이션 두 키입니다.

Oem1 186

OEM 1 키입니다.

OemSemicolon 186

미국 표준 키보드의 OEM 세미콜론 키입니다.

Oemplus 187

모든 국가/지역 키보드의 OEM 플러스 키입니다.

Oemcomma 188

모든 국가/지역 키보드의 OEM 쉼표 키입니다.

OemMinus 189

모든 국가/지역 키보드의 OEM 빼기 키입니다.

OemPeriod 190

모든 국가/지역 키보드의 OEM 기간 키입니다.

Oem2 191

OEM 2 키입니다.

OemQuestion 191

미국 표준 키보드의 OEM 물음표 키입니다.

Oem3 192

OEM 3 키입니다.

Oemtilde 192

미국 표준 키보드의 OEM 타일드 키입니다.

Oem4 219

OEM 4 키입니다.

OemOpenBrackets 219

미국 표준 키보드의 OEM 열린 대괄호 키입니다.

Oem5 220

OEM 5 키입니다.

OemPipe 220

미국 표준 키보드의 OEM 파이프 키입니다.

Oem6 221

OEM 6 키입니다.

OemCloseBrackets 221

미국 표준 키보드의 OEM 닫기 대괄호 키입니다.

Oem7 222

OEM 7 키입니다.

OemQuotes 222

미국 표준 키보드의 OEM 단일/큰따옴표 키입니다.

Oem8 223

OEM 8 키입니다.

Oem102 226

OEM 102 키입니다.

OemBackslash 226

RT 102 키 키보드의 OEM 꺾쇠 괄호 또는 백슬래시 키입니다.

ProcessKey 229

프로세스 키 키입니다.

Packet 231

키 입력인 것처럼 유니코드 문자를 전달하는 데 사용됩니다. 패킷 키 값은 키보드가 아닌 입력 메서드에 사용되는 32비트 가상 키 값의 소문자입니다.

Attn 246

ATTN 키입니다.

Crsel 247

CRSEL 키입니다.

Exsel 248

EXSEL 키입니다.

EraseEof 249

지우기 EOF 키입니다.

Play 250

PLAY 키입니다.

Zoom 251

ZOOM 키입니다.

NoName 252

나중에 사용하기 위해 예약된 상수입니다.

Pa1 253

PA1 키입니다.

OemClear 254

CLEAR 키입니다.

KeyCode 65535

키 값에서 키 코드를 추출할 비트 마스크입니다.

Shift 65536

SHIFT 한정자 키입니다.

Control 131072

Ctrl 한정자 키입니다.

Alt 262144

ALT 한정자 키입니다.

예제

다음 코드 예제에서는 이벤트를 사용 하 여 KeyDown 컨트롤에 입력 된 문자의 형식을 결정 합니다.

   // Boolean flag used to determine when a character other than a number is entered.
private:
   bool nonNumberEntered;

   // Handle the KeyDown event to determine the type of character entered into the control.
   void textBox1_KeyDown( Object^ /*sender*/, System::Windows::Forms::KeyEventArgs^ e )
   {
      // Initialize the flag to false.
      nonNumberEntered = false;

      // Determine whether the keystroke is a number from the top of the keyboard.
      if ( e->KeyCode < Keys::D0 || e->KeyCode > Keys::D9 )
      {
         // Determine whether the keystroke is a number from the keypad.
         if ( e->KeyCode < Keys::NumPad0 || e->KeyCode > Keys::NumPad9 )
         {
            // Determine whether the keystroke is a backspace.
            if ( e->KeyCode != Keys::Back )
            {
               // A non-numerical keystroke was pressed.
               // Set the flag to true and evaluate in KeyPress event.
               nonNumberEntered = true;
            }
         }
      }
      //If shift key was pressed, it's not a number.
      if (Control::ModifierKeys == Keys::Shift) {
         nonNumberEntered = true;
      }
   }

   // This event occurs after the KeyDown event and can be used to prevent
   // characters from entering the control.
   void textBox1_KeyPress( Object^ /*sender*/, System::Windows::Forms::KeyPressEventArgs^ e )
   {
      // Check for the flag being set in the KeyDown event.
      if ( nonNumberEntered)
      {         // Stop the character from being entered into the control since it is non-numerical.
         e->Handled = true;
      }
   }
// Boolean flag used to determine when a character other than a number is entered.
private bool nonNumberEntered = false;

// Handle the KeyDown event to determine the type of character entered into the control.
private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
    // Initialize the flag to false.
    nonNumberEntered = false;

    // Determine whether the keystroke is a number from the top of the keyboard.
    if (e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9)
    {
        // Determine whether the keystroke is a number from the keypad.
        if (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9)
        {
            // Determine whether the keystroke is a backspace.
            if(e.KeyCode != Keys.Back)
            {
                // A non-numerical keystroke was pressed.
                // Set the flag to true and evaluate in KeyPress event.
                nonNumberEntered = true;
            }
        }
    }
    //If shift key was pressed, it's not a number.
    if (Control.ModifierKeys == Keys.Shift) {
        nonNumberEntered = true;
    }
}

// This event occurs after the KeyDown event and can be used to prevent
// characters from entering the control.
private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
    // Check for the flag being set in the KeyDown event.
    if (nonNumberEntered)
    {
        // Stop the character from being entered into the control since it is non-numerical.
        e.Handled = true;
    }
}
 ' Boolean flag used to determine when a character other than a number is entered.
 Private nonNumberEntered As Boolean = False


 ' Handle the KeyDown event to determine the type of character entered into the control.
 Private Sub textBox1_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) _
      Handles textBox1.KeyDown
     ' Initialize the flag to false.
     nonNumberEntered = False
   
     ' Determine whether the keystroke is a number from the top of the keyboard.
     If e.KeyCode < Keys.D0 OrElse e.KeyCode > Keys.D9 Then
         ' Determine whether the keystroke is a number from the keypad.
         If e.KeyCode < Keys.NumPad0 OrElse e.KeyCode > Keys.NumPad9 Then
             ' Determine whether the keystroke is a backspace.
             If e.KeyCode <> Keys.Back Then
                 ' A non-numerical keystroke was pressed. 
                 ' Set the flag to true and evaluate in KeyPress event.
                 nonNumberEntered = True
             End If
         End If
     End If
     'If shift key was pressed, it's not a number.
     If Control.ModifierKeys = Keys.Shift Then
         nonNumberEntered = true
     End If
 End Sub


 ' This event occurs after the KeyDown event and can be used 
 ' to prevent characters from entering the control.
 Private Sub textBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) _
     Handles textBox1.KeyPress
     ' Check for the flag being set in the KeyDown event.
     If nonNumberEntered = True Then
         ' Stop the character from being entered into the control since it is non-numerical.
         e.Handled = True
     End If
 End Sub

설명

클래스에는 Keys 키보드 입력 처리를 위한 상수가 포함되어 있습니다. 키 열거형의 멤버는 키 코드와 단일 정수 값으로 결합된 한정자 집합으로 구성됩니다. Win32 API(애플리케이션 프로그래밍 인터페이스)에서 키 값에는 키 코드(Windows 가상 키 코드와 동일함)가 포함된 상위 비트와 SHIFT, CONTROL 및 ALT 키와 같은 키 한정자를 나타내는 하위 비트가 포함된 두 개의 반쪽이 있습니다.

Warning

결합된 비트 연산에는 이 열거형의 값을 사용하지 마세요. 열거형의 값은 상호 배타적이지 않습니다.

메모

이 열거형은 CAPS LOCK 또는 NUM LOCK 키가 현재 활성화되어 있는지 여부를 테스트할 수 있는 방법을 제공하지 않습니다. 다음 기술 중 하나를 사용하여 이러한 키가 활성화되었는지 확인할 수 있습니다.

다음 표에서는 OEM(일반 원본 장비 제조업체) 키와 보다 구체적인 미국 키보드 연결을 나타내는 두 개의 열거형 값으로 표현되는 키 코드 값을 보여 줍니다.

16진수 값 미국식 키보드 일반 OEM
학사 OemSemicolon Oem1
BF OemQuestion Oem2
C0 Oemtilde Oem3
데이터베이스 OemOpenBrackets Oem4
DC OemPipe Oem5
DD OemCloseBrackets Oem6
독일 OemQuotes Oem7
E2 OemBackslash Oem102

Caution

.NET Framework 2.0의 경우 이전 항목인 IMEAccept 대체되는 멤버 IMEAceept 추가되었습니다. 철자가 잘못되었습니다. 이전 버전은 이전 버전과의 호환성을 위해 유지되었지만 이후 버전의 .NET 삭제될 수 있습니다.

적용 대상

추가 정보