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 |
|---|---|---|
| A | 65 | A 키입니다. |
| Add | 107 | 추가 키입니다. |
| Alt | 262144 | Alt 보조키입니다. |
| Apps | 93 | 애플리케이션 키(Microsoft Natural Keyboard)입니다. |
| Attn | 246 | ATTN 키입니다. |
| B | 66 | B 키입니다. |
| Back | 8 | 백스페이스 키입니다. |
| BrowserBack | 166 | 브라우저 뒤로 키입니다. |
| BrowserFavorites | 171 | 브라우저 즐겨찾기 키입니다. |
| BrowserForward | 167 | 브라우저 앞으로 키입니다. |
| BrowserHome | 172 | 브라우저 홈 키입니다. |
| BrowserRefresh | 168 | 브라우저 새로 고침 키입니다. |
| BrowserSearch | 170 | 브라우저 검색 키입니다. |
| BrowserStop | 169 | 브라우저 중지 키입니다. |
| C | 67 | C 키입니다. |
| Cancel | 3 | 취소 키입니다. |
| Capital | 20 | CAPS LOCK 키입니다. |
| CapsLock | 20 | CAPS LOCK 키입니다. |
| Clear | 12 | 지우기 키입니다. |
| Control | 131072 | Ctrl 보조키입니다. |
| ControlKey | 17 | CTRL 키입니다. |
| Crsel | 247 | CRSEL 키입니다. |
| D | 68 | D 키입니다. |
| 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 키입니다. |
| Decimal | 110 | 10진 키입니다. |
| Delete | 46 | DEL 키입니다. |
| Divide | 111 | 나누기 키입니다. |
| Down | 40 | 아래쪽 화살표 키입니다. |
| E | 69 | E 키입니다. |
| End | 35 | <End> 키입니다. |
| Enter | 13 | <Enter> 키입니다. |
| EraseEof | 249 | ERASE EOF 키입니다. |
| Escape | 27 | <ESC> 키입니다. |
| Execute | 43 | 실행 키입니다. |
| Exsel | 248 | EXSEL 키입니다. |
| F | 70 | F 키입니다. |
| F1 | 112 | F1 키입니다. |
| 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 키입니다. |
| F2 | 113 | F2 키입니다. |
| F20 | 131 | F20 키입니다. |
| F21 | 132 | F21 키입니다. |
| F22 | 133 | F22 키입니다. |
| F23 | 134 | F23 키입니다. |
| F24 | 135 | F24 키입니다. |
| F3 | 114 | F3 키입니다. |
| F4 | 115 | F4 키입니다. |
| F5 | 116 | F5 키입니다. |
| F6 | 117 | F6 키입니다. |
| F7 | 118 | F7 키입니다. |
| F8 | 119 | F8 키입니다. |
| F9 | 120 | F9 키입니다. |
| FinalMode | 24 | 입력기 최종 모드 키입니다. |
| G | 71 | G 키입니다. |
| H | 72 | H 키입니다. |
| HanguelMode | 21 | 입력기 한글 모드 키입니다. 호환성을 위해 유지됩니다. |
| HangulMode | 21 | IME 한글 모드 키입니다. |
| HanjaMode | 25 | IME 한자 모드 키입니다. |
| Help | 47 | 도움말 키입니다. |
| Home | 36 | HOME 키입니다. |
| I | 73 | I 키입니다. |
| IMEAccept | 30 | 입력기 적용 키이며 IMEAceept를 대신합니다. |
| IMEAceept | 30 | 입력기 적용 키입니다. 사용되지 않으며 IMEAccept를 대신 사용합니다. |
| IMEConvert | 28 | 입력기 변환 키입니다. |
| IMEModeChange | 31 | 입력기 모드 변경 키입니다. |
| IMENonconvert | 29 | 입력기 변환 안 함 키입니다. |
| Insert | 45 | INS 키입니다. |
| J | 74 | J 키입니다. |
| JunjaMode | 23 | IME 전자 모드 키입니다. |
| K | 75 | K 키입니다. |
| KanaMode | 21 | IME 가나 모드 키입니다. |
| KanjiMode | 25 | IME 간지 모드 키입니다. |
| KeyCode | 65535 | 키 값에서 키 코드를 추출하는 비트 마스크입니다. |
| L | 76 | L 키입니다. |
| LaunchApplication1 | 182 | 애플리케이션 1 시작 키입니다. |
| LaunchApplication2 | 183 | 애플리케이션 2 시작 키입니다. |
| LaunchMail | 180 | 메일 실행 키입니다. |
| LButton | 1 | 마우스 왼쪽 단추입니다. |
| LControlKey | 162 | 왼쪽 <Ctrl> 키입니다. |
| Left | 37 | 왼쪽 화살표 키입니다. |
| LineFeed | 10 | 줄 바꿈 키입니다. |
| LMenu | 164 | 왼쪽 <Alt> 키입니다. |
| LShiftKey | 160 | 왼쪽 Shift 키입니다. |
| LWin | 91 | 왼쪽 Windows 로고 키(Microsoft Natural 키보드)입니다. |
| M | 77 | M 키입니다. |
| MButton | 4 | 마우스 가운데 단추입니다(3단추 마우스). |
| MediaNextTrack | 176 | 미디어 다음 트랙 키입니다. |
| MediaPlayPause | 179 | 미디어 재생 일시 중지 키입니다. |
| MediaPreviousTrack | 177 | 미디어 이전 트랙 키입니다. |
| MediaStop | 178 | 미디어 중지 키입니다. |
| Menu | 18 | Alt 키입니다. |
| Modifiers | -65536 | 키 값에서 한정자를 추출하는 비트 마스크입니다. |
| Multiply | 106 | 곱하기 키입니다. |
| N | 78 | N 키입니다. |
| Next | 34 | <Page Down> 키입니다. |
| NoName | 252 | 나중에 사용하기 위해 예약된 상수입니다. |
| None | 0 | 키를 누르지 않았습니다. |
| NumLock | 144 | NUM LOCK 키입니다. |
| 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 키입니다. |
| O | 79 | O 키입니다. |
| Oem1 | 186 | OEM 1 키입니다. |
| Oem102 | 226 | OEM 102 키입니다. |
| Oem2 | 191 | OEM 2 키입니다. |
| Oem3 | 192 | OEM 3 키입니다. |
| Oem4 | 219 | OEM 4 키입니다. |
| Oem5 | 220 | OEM 5 키입니다. |
| Oem6 | 221 | OEM 6 키입니다. |
| Oem7 | 222 | OEM 7 키입니다. |
| Oem8 | 223 | OEM 8 키입니다. |
| OemBackslash | 226 | RT 102 키 키보드의 OEM 꺾쇠괄호 또는 백슬래시 키입니다. |
| OemClear | 254 | 지우기 키입니다. |
| OemCloseBrackets | 221 | US 표준 키보드의 OEM 닫는 괄호 키입니다. |
| Oemcomma | 188 | 국가/지역별 키보드의 OEM 쉼표 키입니다. |
| OemMinus | 189 | 국가/지역별 키보드의 OEM 빼기 키입니다. |
| OemOpenBrackets | 219 | US 표준 키보드의 OEM 여는 괄호 키입니다. |
| OemPeriod | 190 | 국가/지역별 키보드의 OEM 마침표 키입니다. |
| OemPipe | 220 | US 표준 키보드의 OEM 파이프 키입니다. |
| Oemplus | 187 | 국가/지역별 키보드의 OEM 더하기 키입니다. |
| OemQuestion | 191 | US 표준 키보드의 OEM 물음표 키입니다. |
| OemQuotes | 222 | US 표준 키보드의 OEM 작은/큰따옴표 키입니다. |
| OemSemicolon | 186 | US 표준 키보드의 OEM 세미콜론 키입니다. |
| Oemtilde | 192 | US 표준 키보드의 OEM 물결표 키입니다. |
| P | 80 | P 키입니다. |
| Pa1 | 253 | PA1 키입니다. |
| Packet | 231 | 유니코드 문자를 키 입력인 것처럼 전달할 때 사용합니다. 패킷 키 값은 키보드가 아닌 입력 방법에 사용되는 32비트 가상 키 값의 하위 워드입니다. |
| PageDown | 34 | <Page Down> 키입니다. |
| PageUp | 33 | <Page Up> 키입니다. |
| Pause | 19 | <Pause> 키입니다. |
| Play | 250 | 재생 키입니다. |
| 42 | 인쇄 키입니다. |
|
| PrintScreen | 44 | <Print Screen> 키입니다. |
| Prior | 33 | <Page Up> 키입니다. |
| ProcessKey | 229 | 프로세스 키입니다. |
| Q | 81 | Q 키입니다. |
| R | 82 | R 키입니다. |
| RButton | 2 | 마우스 오른쪽 단추입니다. |
| RControlKey | 163 | 오른쪽 <Ctrl> 키입니다. |
| Return | 13 | 리턴 키입니다. |
| Right | 39 | 오른쪽 화살표 키입니다. |
| RMenu | 165 | 오른쪽 <Alt> 키입니다. |
| RShiftKey | 161 | 오른쪽 Shift 키입니다. |
| RWin | 92 | 오른쪽 Windows 로고 키(Microsoft Natural 키보드)입니다. |
| S | 83 | S 키입니다. |
| Scroll | 145 | Scroll Lock 키입니다. |
| Select | 41 | 선택 키입니다. |
| SelectMedia | 181 | 미디어 선택 키입니다. |
| Separator | 108 | 구분 키입니다. |
| Shift | 65536 | Shift 보조키입니다. |
| ShiftKey | 16 | Shift 키입니다. |
| Sleep | 95 | 컴퓨터 절전 키입니다. |
| Snapshot | 44 | <Print Screen> 키입니다. |
| Space | 32 | 스페이스바 키입니다. |
| Subtract | 109 | 빼기 키입니다. |
| T | 84 | T 키입니다. |
| Tab | 9 | <Tab> 키입니다. |
| U | 85 | U 키입니다. |
| Up | 38 | 위쪽 화살표 키입니다. |
| V | 86 | V 키입니다. |
| VolumeDown | 174 | 볼륨 작게 키입니다. |
| VolumeMute | 173 | 볼륨 음소거 키입니다. |
| VolumeUp | 175 | 볼륨 크게 키입니다. |
| W | 87 | W 키입니다. |
| X | 88 | X 키입니다. |
| XButton1 | 5 | 첫 번째 x 마우스 단추입니다(5단추 마우스). |
| XButton2 | 6 | 두 번째 x 마우스 단추입니다(5단추 마우스). |
| Y | 89 | Y 키입니다. |
| Z | 90 | Z 키입니다. |
| Zoom | 251 | 확대/축소 키입니다. |
예제
다음 코드 예제에서는 이벤트를 사용 하 여 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 == true )
{ // 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 == true)
{
// 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 가상 키 코드와 동일) 키 코드를 포함 하는 상위 비트와 ALT, CONTROL, SHIFT 등 키 한정자를 나타내는 하위 비트 키입니다.
경고
결합된 비트 연산에는 이 열거형의 값을 사용하지 마세요. 열거형의 값은 상호 배타적이지 않습니다.
참고
이 열거형은 CAPS LOCK 또는 NUM LOCK 키가 현재 활성화되어 있는지 여부를 테스트할 수 있는 방법을 제공하지 않습니다. 다음 기술 중 하나를 사용하여 이러한 키가 활성화되었는지 확인할 수 있습니다.
IsKeyLocked 클래스의 Control 메서드를 호출합니다.
더 세부적인 제어를 위해 user32.dll 정의된 Windows API 함수
GetKeyState,GetAsyncKeyState또는GetKeyboardState를 사용하여 이 작업을 수행합니다. 네이티브 함수를 호출하는 방법에 대한 자세한 내용은 관리되지 않는 DLL 함수 소비를 참조하세요.
다음 표에서는 OEM(일반 원본 장비 제조업체) 키와 보다 구체적인 미국 키보드 연결을 나타내는 두 개의 열거형 값으로 표시되는 키 코드 값을 보여 줍니다.
| 16 진수 값 | 미국식 키보드 | 일반 OEM |
|---|---|---|
| BA | OemSemicolon | Oem1 |
| BF | OemQuestion | Oem2 |
| C0 | Oemtilde | Oem3 |
| DB | OemOpenBrackets | Oem4 |
| DC | OemPipe | Oem5 |
| DD | OemCloseBrackets | Oem6 |
| DE | OemQuotes | Oem7 |
| E2 | OemBackslash | Oem102 |
주의
.NET Framework 2.0의 경우 이전 항목인 IMEAceept를 대체하는 멤버 IMEAccept가 추가되었습니다. 이 항목의 철자가 잘못되었습니다. 이전 버전은 이전 버전과의 호환성을 위해 유지되었지만 이후 버전의 .NET Framework 삭제될 수 있습니다.