Keys 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
키 코드 및 한정자를 지정합니다.
이 열거형은 멤버 값의 비트 조합을 지원합니다.
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 | 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 키입니다. |
| 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 키가 현재 활성화되어 있는지 여부를 테스트할 수 있는 방법을 제공하지 않습니다. 다음 기술 중 하나를 사용하여 이러한 키가 활성화되었는지 확인할 수 있습니다.
클래스의 IsKeyLocked 메서드를 호출합니다 Control .
더 세부적인 제어를 위해 user32.dll정의된 Windows API 함수
GetKeyState,GetAsyncKeyState또는GetKeyboardState사용하여 이 작업을 수행합니다. 네이티브 함수를 호출하는 방법에 대한 자세한 내용은 관리되지 않는 DLL 함수를 사용하는 것을 참조하세요.
다음 표에서는 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 삭제될 수 있습니다.