C# 键盘响应事件及键值对照表
鍵盤響應(yīng)事件總結(jié)
鍵盤響應(yīng)事件是在用戶按下某個(gè)鍵后觸發(fā)的事件,可以是任意操作,但不是任意鍵都可以被捕獲的。
原型:public event KeyPressEventHandler KeyPress
MSDN說(shuō)明:鍵事件按以下順序發(fā)生:
1.KeyDown
2.KeyPress
3.KeyUp
KeyPress 事件不能由非字符鍵引發(fā);但是非字符鍵能夠引發(fā) KeyDown 和 KeyUp事件。
使用 KeyChar 屬性采樣運(yùn)行時(shí)的鍵擊,以及使用或修改常用鍵擊的一個(gè)子集。
若要僅在窗體級(jí)別處理鍵盤事件而不允許其他控件接收鍵盤事件,請(qǐng)將窗體的 KeyPress 事件處理方法中的KeyPressEventArgs.Handled 屬性設(shè)置為 true。MSDN
下面的代碼示例使用 KeyPress事件來(lái)禁止向控件輸入字符。
// 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;
}
}
鍵值對(duì)照表
| 虛擬鍵值表 | |||
| 虛擬鍵 | 十六進(jìn)制值 | 十進(jìn)制值 | 相應(yīng)鍵盤或鼠標(biāo)鍵 |
| VK_LBUTTON | 1 | 1 | 鼠標(biāo)左鍵 |
| VK_RBUTTON | 2 | 2 | 鼠標(biāo)右鍵 |
| VK_CANCEL | 3 | 3 | Ctrl-Break鍵 |
| VK_MBUTTON | 4 | 4 | 鼠標(biāo)中鍵 |
| VK_BACK | 8 | 8 | Backspace鍵 |
| VK_TAB | 9 | 9 | Tab鍵 |
| VK_CLEAR | 0C | 12 | Clear鍵 |
| VK_RETURN | 0D | 13 | Enter鍵 |
| VK_SHIFT | 10 | 16 | Shift鍵 |
| VK_CONTROL | 11 | 17 | Ctrl鍵 |
| VK_MENU | 12 | 18 | Alt鍵 |
| VK_PAUSE | 13 | 19 | Pause鍵 |
| VK_CAPITAL | 14 | 20 | Caps Lock鍵 |
| VK_ESCAPE | 1B | 27 | Esc鍵 |
| VK_SPACE | 20 | 32 | Space鍵 |
| VK_PRIOR | 21 | 33 | Page Up鍵 |
| VK_NEXT | 22 | 34 | Page Down鍵 |
| VK_END | 23 | 35 | End鍵 |
| VK_HOME | 24 | 36 | Home鍵 |
| VK_LEFT | 25 | 37 | ←鍵 |
| VK_UP | 26 | 38 | ↑鍵 |
| VK_RIGHT | 27 | 39 | →鍵 |
| VK_DOWN | 28 | 40 | ↓鍵 |
| VK_SELECT | 29 | 41 | Select鍵 |
| VK_PRINT | 2A | 42 | Print鍵 |
| VK_EXECUTE | 2B | 43 | Execute鍵 |
| VK_SNAPSHOT | 2C | 44 | Print Screen鍵 |
| VK_INSERT | 2D | 45 | Ins鍵 |
| VK_DELETE | 2E | 46 | Del鍵 |
| VK_HELP | 2F | 47 | Help鍵 |
| VK_0 | 30 | 48 | 0鍵 |
| VK_1 | 31 | 49 | 1鍵 |
| VK_2 | 32 | 50 | 2鍵 |
| VK_3 | 33 | 51 | 3鍵 |
| VK_4 | 34 | 52 | 4鍵 |
| VK_5 | 35 | 53 | 5鍵 |
| VK_6 | 36 | 54 | 6鍵 |
| VK_7 | 37 | 55 | 7鍵 |
| VK_8 | 38 | 56 | 8鍵 |
| VK_9 | 39 | 57 | 9鍵 |
| VK_A | 41 | 65 | A鍵 |
| VK_B | 42 | 66 | B鍵 |
| VK_C | 43 | 67 | C鍵 |
| VK_D | 44 | 68 | D鍵 |
| VK_E | 45 | 69 | E鍵 |
| VK_F | 46 | 70 | F鍵 |
| VK_G | 47 | 71 | G鍵 |
| VK_H | 48 | 72 | H鍵 |
| VK_I | 49 | 73 | I鍵 |
| VK_J | 4A | 74 | J鍵 |
| VK_K | 4B | 75 | K鍵 |
| VK_L | 4C | 76 | L鍵 |
| VK_M | 4D | 77 | M鍵 |
| VK_N | 4E | 78 | N鍵 |
| VK_O | 4F | 79 | O鍵 |
| VK_P | 50 | 80 | P鍵 |
| VK_Q | 51 | 81 | Q鍵 |
| VK_R | 52 | 82 | R鍵 |
| VK_S | 53 | 83 | S鍵 |
| VK_T | 54 | 84 | T鍵 |
| VK_U | 55 | 85 | U鍵 |
| VK_V | 56 | 86 | V鍵 |
| VK_W | 57 | 87 | W鍵 |
| VK_X | 58 | 88 | X鍵 |
| VK_Y | 59 | 89 | Y鍵 |
| VK_Z | 5A | 90 | Z鍵 |
| VK_LWIN | 5B | 91 | 左Windows鍵 |
| VK_RWIN | 5C | 92 | 右Windows鍵 |
| VK_APPS | 5D | 93 | 應(yīng)用程序鍵 |
| VK_SLEEP | 5F | 95 | 休眠鍵 |
| VK_NUMPAD0 | 60 | 96 | 小數(shù)字鍵盤0鍵 |
| VK_NUMPAD1 | 61 | 97 | 小數(shù)字鍵盤1鍵 |
| VK_NUMPAD2 | 62 | 98 | 小數(shù)字鍵盤2鍵 |
| VK_NUMPAD3 | 63 | 99 | 小數(shù)字鍵盤3鍵 |
| VK_NUMPAD4 | 64 | 100 | 小數(shù)字鍵盤4鍵 |
| VK_NUMPAD5 | 65 | 101 | 小數(shù)字鍵盤5鍵 |
| VK_NUMPAD6 | 66 | 102 | 小數(shù)字鍵盤6鍵 |
| VK_NUMPAD7 | 67 | 103 | 小數(shù)字鍵盤7鍵 |
| VK_NUMPAD8 | 68 | 104 | 小數(shù)字鍵盤8鍵 |
| VK_NUMPAD9 | 69 | 105 | 小數(shù)字鍵盤9鍵 |
| VK_MULTIPLY | 6A | 106 | 乘號(hào)鍵 |
| VK_ADD | 6B | 107 | 加號(hào)鍵 |
| VK_SEPARATOR | 6C | 108 | 分割鍵 |
| VK_SUBSTRACT | 6D | 109 | 減號(hào)鍵 |
| VK_DECIMAL | 6E | 110 | 小數(shù)點(diǎn)鍵 |
| VK_DIVIDE | 6F | 111 | 除號(hào)鍵 |
| VK_F1 | 70 | 12 | F1鍵 |
| VK_F2 | 71 | 113 | F2鍵 |
| VK_F3 | 72 | 114 | F3鍵 |
| VK_F4 | 73 | 115 | F4鍵 |
| VK_F5 | 74 | 116 | F5鍵 |
| VK_F6 | 75 | 117 | F6鍵 |
| VK_F7 | 76 | 118 | F7鍵 |
| VK_F8 | 77 | 119 | F8鍵 |
| VK_F9 | 78 | 120 | F9鍵 |
| VK_F10 | 79 | 121 | F10鍵 |
| VK_F11 | 7A | 122 | F11鍵 |
| VK_F12 | 7B | 123 | F12鍵 |
| VK_F13 | 7C | 124 | F13鍵 |
| VK_F14 | 7D | 125 | F14鍵 |
| VK_F15 | 7E | 126 | F15鍵 |
| VK_F16 | 7F | 127 | F16鍵 |
| VK_F17 | 80 | 128 | F17鍵 |
| VK_F18 | 81 | 129 | F18鍵 |
| VK_F19 | 82 | 130 | F19鍵 |
| VK_F20 | 83 | 131 | F20鍵 |
| VK_F21 | 84 | 132 | F21鍵 |
| VK_F22 | 85 | 133 | F22鍵 |
| VK_F23 | 86 | 134 | F23鍵 |
| VK_F24 | 87 | 135 | F24鍵 |
| VK_NUMLOCK | 90 | 144 | Num Lock鍵 |
| VK_SCROLL | 91 | 45 | Scroll Lock鍵 |
| VK_LSHIFT | A0 | 160 | 左Shift鍵 |
| VK_RSHIFT | A1 | 161 | 右Shift鍵 |
| VK_LCONTROL | A2 | 162 | 左Ctrl鍵 |
| VK_RCONTROL | A3 | 163 | 右Ctrl鍵 |
| VK_LMENU | A4 | 164 | 左Alt鍵 |
| VK_RMENU | A5 | 165 | 右Alt鍵 |
PS:以上表格的導(dǎo)入如果使用Makedown語(yǔ)法顯然不太合適,這里我使用表格自動(dòng)轉(zhuǎn)換HTML語(yǔ)法的網(wǎng)站,非常方便,鏈接如下:在線HTML格式轉(zhuǎn)換
出處:https://blog.csdn.net/u012391923/article/details/52920316
參考:https://www.cnblogs.com/swtool/p/6860760.html
總結(jié)
以上是生活随笔為你收集整理的C# 键盘响应事件及键值对照表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SupperSocket深入浅出
- 下一篇: 微信和QQ网页授权登录