c#键盘事件代码keychar

xiaoxiao2021-03-01  12

1. 首先将窗口属性KeyPreview设为true,如果属性对话框中找不到,就直接在代码里添加;2. 添加KeyPress / KeyDown事件:KeyPress 和KeyDown 、KeyPress之间的区别:    1).KeyPress主要用来捕获数字(注意:包括Shift+数字的符号)、字母(注意:包括大小写)、小键盘等除了F1-12、SHIFT、Alt、Ctrl、Insert、Home、PgUp、Delete、End、PgDn、ScrollLock、Pause、NumLock、{菜单键}、{开始键}和方向键外的ANSI字符        KeyDown 和KeyUp 通常可以捕获键盘除了PrScrn所有按键(这里不讨论特殊键盘的特殊键)    2).KeyPress 只能捕获单个字符        KeyDown 和KeyUp 可以捕获组合键。    3).KeyPress 可以捕获单个字符的大小写    4).KeyDown和KeyUp 对于单个字符捕获的KeyValue 都是一个值,也就是不能判断单个字符的大小写。    5).KeyPress 不区分小键盘和主键盘的数字字符。        KeyDown 和KeyUp 区分小键盘和主键盘的数字字符。    6).其中PrScrn 按键KeyPress、KeyDown和KeyUp 都不能捕获。KeyPress事件:private void Form1_KeyPress(object sender, KeyPressEventArgs e){    if(e.KeyChar== '1')    {        button1.PerformClick();// 执行按钮“1”的操作        e.Handled = true;    }}KeyChar取值:

另外2个特殊ASCII码:回车=13,换行=10KeyDown事件:private void Form1_KeyDown(object sender, KeyEventArgs e){       Keys key = e.KeyCode;       if (e.Control!=true)//如果没按Ctrl键return;       switch (key)       {            case Keys.NumPad0:                //按下小键盘0以后                break;            case Keys.NumPad1:                //按下小键盘1以后                break;            case Keys.S:                //按下S键以后                break;            case Keys.Up:                //按下向下键以后                break;       }}KeyCode取值(java中应该也是一样的值):keycode    8 = BackSpace BackSpacekeycode    9 = Tab Tabkeycode   12 = Clearkeycode   13 = Enterkeycode   16 = Shift_Lkeycode   17 = Control_Lkeycode   18 = Alt_Lkeycode   19 = Pausekeycode   20 = Caps_Lockkeycode   27 = Escape Escapekeycode   32 = space spacekeycode   33 = Priorkeycode   34 = Nextkeycode   35 = Endkeycode   36 = Homekeycode   37 = Leftkeycode   38 = Upkeycode   39 = Rightkeycode   40 = Downkeycode   41 = Selectkeycode   42 = Printkeycode   43 = Executekeycode   45 = Insertkeycode   46 = Deletekeycode   47 = Helpkeycode   48 = 0 equal bracerightkeycode   49 = 1 exclam onesuperiorkeycode   50 = 2 quotedbl twosuperiorkeycode   51 = 3 section threesuperiorkeycode   52 = 4 dollarkeycode   53 = 5 percentkeycode   54 = 6 ampersandkeycode   55 = 7 slash braceleftkeycode   56 = 8 parenleft bracketleftkeycode   57 = 9 parenright bracketrightkeycode   65 = a Akeycode   66 = b Bkeycode   67 = c Ckeycode   68 = d Dkeycode   69 = e E EuroSignkeycode   70 = f Fkeycode   71 = g Gkeycode   72 = h Hkeycode   73 = i Ikeycode   74 = j Jkeycode   75 = k Kkeycode   76 = l Lkeycode   77 = m M mukeycode   78 = n Nkeycode   79 = o Okeycode   80 = p Pkeycode   81 = q Q atkeycode   82 = r Rkeycode   83 = s Skeycode   84 = t Tkeycode   85 = u Ukeycode   86 = v Vkeycode   87 = w Wkeycode   88 = x Xkeycode   89 = y Ykeycode   90 = z Zkeycode   96 = KP_0 KP_0keycode   97 = KP_1 KP_1keycode   98 = KP_2 KP_2keycode   99 = KP_3 KP_3keycode 100 = KP_4 KP_4keycode 101 = KP_5 KP_5keycode 102 = KP_6 KP_6keycode 103 = KP_7 KP_7keycode 104 = KP_8 KP_8keycode 105 = KP_9 KP_9keycode 106 = KP_Multiply KP_Multiplykeycode 107 = KP_Add KP_Addkeycode 108 = KP_Separator KP_Separatorkeycode 109 = KP_Subtract KP_Subtractkeycode 110 = KP_Decimal KP_Decimalkeycode 111 = KP_Divide KP_Dividekeycode 112 = F1keycode 113 = F2keycode 114 = F3keycode 115 = F4keycode 116 = F5keycode 117 = F6keycode 118 = F7keycode 119 = F8keycode 120 = F9keycode 121 = F10keycode 122 = F11keycode 123 = F12keycode 124 = F13keycode 125 = F14keycode 126 = F15keycode 127 = F16keycode 128 = F17keycode 129 = F18keycode 130 = F19keycode 131 = F20keycode 132 = F21keycode 133 = F22keycode 134 = F23keycode 135 = F24keycode 136 = Num_Lockkeycode 137 = Scroll_Lockkeycode 187 = acute gravekeycode 188 = comma semicolonkeycode 189 = minus underscorekeycode 190 = period colonkeycode 192 = numbersign apostrophekeycode 210 = plusminus hyphen macronkeycode 211 =keycode 212 = copyright registeredkeycode 213 = guillemotleft guillemotrightkeycode 214 = masculine ordfemininekeycode 215 = ae AEkeycode 216 = cent yenkeycode 217 = questiondown exclamdownkeycode 218 = onequarter onehalf threequarterskeycode 220 = less greater barkeycode 221 = plus asterisk asciitildekeycode 227 = multiply divisionkeycode 228 = acircumflex Acircumflexkeycode 229 = ecircumflex Ecircumflexkeycode 230 = icircumflex Icircumflexkeycode 231 = ocircumflex Ocircumflexkeycode 232 = ucircumflex Ucircumflexkeycode 233 = ntilde Ntildekeycode 234 = yacute Yacutekeycode 235 = oslash Oobliquekeycode 236 = aring Aringkeycode 237 = ccedilla Ccedillakeycode 238 = thorn THORNkeycode 239 = eth ETHkeycode 240 = diaeresis cedilla currencykeycode 241 = agrave Agrave atilde Atildekeycode 242 = egrave Egravekeycode 243 = igrave Igravekeycode 244 = ograve Ograve otilde Otildekeycode 245 = ugrave Ugravekeycode 246 = adiaeresis Adiaeresiskeycode 247 = ediaeresis Ediaeresiskeycode 248 = idiaeresis Idiaeresiskeycode 249 = odiaeresis Odiaeresiskeycode 250 = udiaeresis Udiaeresiskeycode 251 = ssharp question backslashkeycode 252 = asciicircum degreekeycode 253 = 3 sterlingkeycode 254 = Mode_switch3. 如何获取键盘按钮的keyChar值(keyCode同理):private void Form1_KeyPress(object sender, KeyPressEventArgs e) {     char Key_Char = e.KeyChar;//判斷按鍵的 Keychar     MessageBox.Show(((int)(Key_Char)).ToString());//轉成整數顯示 }

转载请注明原文地址: https://www.6miu.com/read-3100075.html

最新回复(0)