C# 鍵盤響應事件及鍵值對照表

鍵盤響應事件總結


鍵盤響應事件是在用戶按下某個鍵後觸發的事件,能夠是任意操做,但不是任意鍵均可以被捕獲的html

原型:public event KeyPressEventHandler KeyPress
MSDN說明:鍵事件按如下順序發生:
1.KeyDown
2.KeyPress
3.KeyUp
KeyPress 事件不能由非字符鍵引起;可是非字符鍵可以引起 KeyDown 和 KeyUp事件。
使用 KeyChar 屬性採樣運行時的鍵擊,以及使用或修改經常使用鍵擊的一個子集。
若要僅在窗體級別處理鍵盤事件而不容許其餘控件接收鍵盤事件,請將窗體的 KeyPress 事件處理方法中的KeyPressEventArgs.Handled 屬性設置爲 true。MSDNwindows


下面的代碼示例使用 KeyPress事件來禁止向控件輸入字符。markdown

// 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;
            }
        }

 


鍵值對照表

虛擬鍵值表
虛擬鍵 十六進制值 十進制值 相應鍵盤或鼠標鍵
VK_LBUTTON 1 1 鼠標左鍵
VK_RBUTTON 2 2 鼠標右鍵
VK_CANCEL 3 3 Ctrl-Break鍵
VK_MBUTTON 4 4 鼠標中鍵
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 應用程序鍵
VK_SLEEP 5F 95 休眠鍵
VK_NUMPAD0 60 96 小數字鍵盤0鍵
VK_NUMPAD1 61 97 小數字鍵盤1鍵
VK_NUMPAD2 62 98 小數字鍵盤2鍵
VK_NUMPAD3 63 99 小數字鍵盤3鍵
VK_NUMPAD4 64 100 小數字鍵盤4鍵
VK_NUMPAD5 65 101 小數字鍵盤5鍵
VK_NUMPAD6 66 102 小數字鍵盤6鍵
VK_NUMPAD7 67 103 小數字鍵盤7鍵
VK_NUMPAD8 68 104 小數字鍵盤8鍵
VK_NUMPAD9 69 105 小數字鍵盤9鍵
VK_MULTIPLY 6A 106 乘號鍵
VK_ADD 6B 107 加號鍵
VK_SEPARATOR 6C 108 分割鍵
VK_SUBSTRACT 6D 109 減號鍵
VK_DECIMAL 6E 110 小數點鍵
VK_DIVIDE 6F 111 除號鍵
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:以上表格的導入若是使用Makedown語法顯然不太合適,這裏我使用表格自動轉換HTML語法的網站,很是方便,連接以下:在線HTML格式轉換網站

 

出處:https://blog.csdn.net/u012391923/article/details/52920316lua

參考:https://www.cnblogs.com/swtool/p/6860760.htmlspa

相關文章
相關標籤/搜索