How C # correlates keyboard buttons (Keychar/keycode value Keypress/keydown event differences) (reproduced)

Source: Internet
Author: User

1. First set the Window property KeyPreview to True, if the Properties dialog box is not found, it is added directly in the code;
2. Add Keypress/keydown Event:


The difference between KeyPress and KeyDown, KeyPress:
1). KeyPress is primarily used to capture numbers (note: symbols including shift+ numbers), letters (note: include capitalization), keypads, etc. except f1-12, SHIFT, Alt, Ctrl, Insert, Home, PgUp, Delete, End, PgDn, ScrollLock, Pause, NumLock, {Menu key}, {Start key}, and ANSI characters outside the arrow key
KeyDown and KeyUp can usually capture keyboards in addition to prscrn all keys (special keys for special keyboards are not discussed here)
2). KeyPress can only capture a single character
KeyDown and KeyUp can capture key combinations.
3). KeyPress can capture the case of a single character
4). The keyvalue of KeyDown and KeyUp for a single character capture is a value, that is, the case of a single character cannot be judged.
5). The KeyPress does not differentiate between the numeric characters of the keypad and the main keyboard.
KeyDown and KeyUp distinguish the numeric characters of the keypad and the main keyboard.
6). Where Prscrn keys KeyPress, KeyDown, and KeyUp are not captured.


KeyPress Event:
private void Form1_keypress (object sender, KeyPressEventArgs e)
{
if (e.keychar== ' 1 ')
{
Button1. PerformClick ();//Perform the operation of button "1"
E.handled = true;
}
}
Keychar Value:




2 additional special ASCII codes: Carriage return = 13, newline =10


KeyDown event:
private void Form1_keydown (object sender, KeyEventArgs e)
{
Keys key = E.keycode;
if (e.control!=true)//If you do not press the CTRL key
Return
Switch (key)
{
Case KEYS.NUMPAD0:
Press the keypad 0 later
Break
Case KEYS.NUMPAD1:
Press the keypad 1 later
Break
Case KEYS.S:
Press the S key later
Break
Case KEYS.UP:
Press the DOWN ARROW key later
Break
}
}
KeyCode value (it should be the same value in Java):
KeyCode 8 = BackSpace BackSpace
KeyCode 9 = Tab tab
KeyCode = Clear
KeyCode = Enter
KeyCode = shift_l
KeyCode = control_l
KeyCode = alt_l
KeyCode = Pause
KeyCode = Caps_lock
KeyCode = Escape escape
KeyCode = Space Space
KeyCode = Prior
KeyCode = Next
KeyCode = End
KeyCode = Home
KeyCode PNs = Left
KeyCode = up
KeyCode = Right
KeyCode = Down
KeyCode = Select
KeyCode = Print
KeyCode = Execute
KeyCode = Insert
KeyCode = Delete
KeyCode = Help
keycode = 0 Equal braceright
keycode = 1 Exclam onesuperior
KeyCode = 2 Quotedbl twosuperior
keycode = 3 section Threesuperior
keycode = 4 Dollar
KeyCode = 5 percent
KeyCode = 6 Ampersand
keycode = 7 Slash braceleft
KeyCode = 8 Parenleft bracketleft
KeyCode = 9 Parenright bracketright
KeyCode = a A
KeyCode = b b
KeyCode = c C
KeyCode = d D
KeyCode = e e eurosign
KeyCode = f F
KeyCode = g g
KeyCode = h H
KeyCode = i I
KeyCode = J J
KeyCode = k K
KeyCode = l l
keycode = M M mu
KeyCode = n N
keycode = o O
KeyCode = P p
KeyCode Bayi = q q at
KeyCode = r R
KeyCode = s S
KeyCode = t T
KeyCode = u u
KeyCode = v V
KeyCode = w W
KeyCode = x x
KeyCode = y y
KeyCode = Z Z
KeyCode = Kp_0 Kp_0
KeyCode = Kp_1 kp_1
KeyCode 98 = kp_2 kp_2
KeyCode = Kp_3 Kp_3
KeyCode = Kp_4 Kp_4
KeyCode 101 = kp_5 Kp_5
KeyCode 102 = Kp_6 Kp_6
KeyCode 103 = kp_7 kp_7
KeyCode 104 = Kp_8 Kp_8
KeyCode = Kp_9 Kp_9
KeyCode 106 = kp_multiply kp_multiply
KeyCode 107 = Kp_add Kp_add
KeyCode 108 = Kp_separator Kp_separator
KeyCode 109 = kp_subtract Kp_subtract
KeyCode = Kp_decimal Kp_decimal
KeyCode 111 = kp_divide Kp_divide
KeyCode = F1
KeyCode 113 = F2
KeyCode = F3
KeyCode = F4
KeyCode = F5
KeyCode 117 = F6
KeyCode 118 = F7
KeyCode 119 = F8
KeyCode = F9
KeyCode 121 = F10
KeyCode 122 = F11
KeyCode 123 = F12
KeyCode 124 = F13
KeyCode = F14
KeyCode 126 = F15
KeyCode 127 = F16
KeyCode = F17
KeyCode 129 = F18
KeyCode = F19
KeyCode 131 = F20
KeyCode = F21
KeyCode 133 = F22
KeyCode 134 = F23
KeyCode 135 = F24
KeyCode 136 = Num_lock
KeyCode 137 = Scroll_lock
KeyCode 187 = Acute grave
KeyCode 188 = Comma semicolon
KeyCode 189 = minus underscore
keycode = Period Colon
KeyCode 192 = numbersign Apostrophe
KeyCode = Plusminus hyphen Macron
KeyCode 211 =
KeyCode 212 = Copyright Registered
KeyCode 213 = Guillemotleft Guillemotright
KeyCode 214 = masculine Ordfeminine
KeyCode 215 = AE AE
KeyCode 216 = cent yen
KeyCode 217 = Questiondown Exclamdown
KeyCode 218 = Onequarter Onehalf threequarters
KeyCode = Less Greater bar
KeyCode 221 = plus asterisk Asciitilde
KeyCode 227 = Multiply Division
KeyCode 228 = Acircumflex Acircumflex
KeyCode 229 = Ecircumflex Ecircumflex
KeyCode = Icircumflex Icircumflex
KeyCode 231 = Ocircumflex Ocircumflex
KeyCode 232 = Ucircumflex Ucircumflex
KeyCode 233 = Ntilde Ntilde
KeyCode 234 = Yacute Yacute
KeyCode 235 = Oslash Ooblique
KeyCode 236 = aring aring
KeyCode 237 = Ccedilla Ccedilla
KeyCode 238 = Thorn Thorn
KeyCode 239 = ETH ETH
KeyCode = diaeresis cedilla currency
KeyCode 241 = Agrave Agrave Atilde Atilde
KeyCode 242 = Egrave Egrave
KeyCode 243 = Igrave Igrave
KeyCode 244 = ograve Ograve Otilde Otilde
KeyCode 245 = Ugrave Ugrave
KeyCode 246 = adiaeresis adiaeresis
KeyCode 247 = ediaeresis ediaeresis
KeyCode 248 = idiaeresis idiaeresis
KeyCode 249 = odiaeresis Odiaeresis
KeyCode = Udiaeresis udiaeresis
KeyCode 251 = ssharp question Backslash
KeyCode 252 = Asciicircum Degree
KeyCode 253 = 3 Sterling
KeyCode 254 = Mode_switch


3. How to get the Keychar value of the keyboard button (KeyCode):
private void Form1_keypress (object sender, KeyPressEventArgs e)
{
Char Key_char = e.keychar;//KeyChar
MessageBox.Show (((int) (Key_char)). ToString ());//Turn the whole number to show
}

How C # correlates keyboard buttons (Keychar/keycode value Keypress/keydown event differences) (reproduced)

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.