.NET 3.5 の
System.Windows.Forms.Keys
を一覧表にしたものです。
LButton、とか、ControlKey の扱いがもやもやしていたので調べてみました。
この表から、KeyCode、Modifiers は、ビットマスクで、Shift、Control、Alt のみが Modifiers にあたることがわかります。None は 0 なので、やはり特殊なコードですが、残りは KeyCode のようです。
Return のように同じ行があるのは、Enter のような別の表現が存在するためです。
本当は、Return、Enter と出力できると良かったのですが・・・。
| Keys | 16進 | 10進 |
|---|---|---|
| None | 0 | 0 |
| LButton | 1 | 1 |
| RButton | 2 | 2 |
| Cancel | 3 | 3 |
| MButton | 4 | 4 |
| XButton1 | 5 | 5 |
| XButton2 | 6 | 6 |
| Back | 8 | 8 |
| Tab | 9 | 9 |
| LineFeed | A | 10 |
| Clear | C | 12 |
| Return | D | 13 |
| Return | D | 13 |
| ShiftKey | 10 | 16 |
| ControlKey | 11 | 17 |
| Menu | 12 | 18 |
| Pause | 13 | 19 |
| Capital | 14 | 20 |
| Capital | 14 | 20 |
| KanaMode | 15 | 21 |
| KanaMode | 15 | 21 |
| KanaMode | 15 | 21 |
| JunjaMode | 17 | 23 |
| FinalMode | 18 | 24 |
| HanjaMode | 19 | 25 |
| HanjaMode | 19 | 25 |
| Escape | 1B | 27 |
| IMEConvert | 1C | 28 |
| IMENonconvert | 1D | 29 |
| IMEAceept | 1E | 30 |
| IMEAceept | 1E | 30 |
| IMEModeChange | 1F | 31 |
| Space | 20 | 32 |
| PageUp | 21 | 33 |
| PageUp | 21 | 33 |
| Next | 22 | 34 |
| Next | 22 | 34 |
| End | 23 | 35 |
| Home | 24 | 36 |
| Left | 25 | 37 |
| Up | 26 | 38 |
| Right | 27 | 39 |
| Down | 28 | 40 |
| Select | 29 | 41 |
| 2A | 42 | |
| Execute | 2B | 43 |
| PrintScreen | 2C | 44 |
| PrintScreen | 2C | 44 |
| Insert | 2D | 45 |
| Delete | 2E | 46 |
| Help | 2F | 47 |
| D0 | 30 | 48 |
| D1 | 31 | 49 |
| D2 | 32 | 50 |
| D3 | 33 | 51 |
| D4 | 34 | 52 |
| D5 | 35 | 53 |
| D6 | 36 | 54 |
| D7 | 37 | 55 |
| D8 | 38 | 56 |
| D9 | 39 | 57 |
| A | 41 | 65 |
| B | 42 | 66 |
| C | 43 | 67 |
| D | 44 | 68 |
| E | 45 | 69 |
| F | 46 | 70 |
| G | 47 | 71 |
| H | 48 | 72 |
| I | 49 | 73 |
| J | 4A | 74 |
| K | 4B | 75 |
| L | 4C | 76 |
| M | 4D | 77 |
| N | 4E | 78 |
| O | 4F | 79 |
| P | 50 | 80 |
| Q | 51 | 81 |
| R | 52 | 82 |
| S | 53 | 83 |
| T | 54 | 84 |
| U | 55 | 85 |
| V | 56 | 86 |
| W | 57 | 87 |
| X | 58 | 88 |
| Y | 59 | 89 |
| Z | 5A | 90 |
| LWin | 5B | 91 |
| RWin | 5C | 92 |
| Apps | 5D | 93 |
| Sleep | 5F | 95 |
| NumPad0 | 60 | 96 |
| NumPad1 | 61 | 97 |
| NumPad2 | 62 | 98 |
| NumPad3 | 63 | 99 |
| NumPad4 | 64 | 100 |
| NumPad5 | 65 | 101 |
| NumPad6 | 66 | 102 |
| NumPad7 | 67 | 103 |
| NumPad8 | 68 | 104 |
| NumPad9 | 69 | 105 |
| Multiply | 6A | 106 |
| Add | 6B | 107 |
| Separator | 6C | 108 |
| Subtract | 6D | 109 |
| Decimal | 6E | 110 |
| Divide | 6F | 111 |
| F1 | 70 | 112 |
| F2 | 71 | 113 |
| F3 | 72 | 114 |
| F4 | 73 | 115 |
| F5 | 74 | 116 |
| F6 | 75 | 117 |
| F7 | 76 | 118 |
| F8 | 77 | 119 |
| F9 | 78 | 120 |
| F10 | 79 | 121 |
| F11 | 7A | 122 |
| F12 | 7B | 123 |
| F13 | 7C | 124 |
| F14 | 7D | 125 |
| F15 | 7E | 126 |
| F16 | 7F | 127 |
| F17 | 80 | 128 |
| F18 | 81 | 129 |
| F19 | 82 | 130 |
| F20 | 83 | 131 |
| F21 | 84 | 132 |
| F22 | 85 | 133 |
| F23 | 86 | 134 |
| F24 | 87 | 135 |
| NumLock | 90 | 144 |
| Scroll | 91 | 145 |
| LShiftKey | A0 | 160 |
| RShiftKey | A1 | 161 |
| LControlKey | A2 | 162 |
| RControlKey | A3 | 163 |
| LMenu | A4 | 164 |
| RMenu | A5 | 165 |
| BrowserBack | A6 | 166 |
| BrowserForward | A7 | 167 |
| BrowserRefresh | A8 | 168 |
| BrowserStop | A9 | 169 |
| BrowserSearch | AA | 170 |
| BrowserFavorites | AB | 171 |
| BrowserHome | AC | 172 |
| VolumeMute | AD | 173 |
| VolumeDown | AE | 174 |
| VolumeUp | AF | 175 |
| MediaNextTrack | B0 | 176 |
| MediaPreviousTrack | B1 | 177 |
| MediaStop | B2 | 178 |
| MediaPlayPause | B3 | 179 |
| LaunchMail | B4 | 180 |
| SelectMedia | B5 | 181 |
| LaunchApplication1 | B6 | 182 |
| LaunchApplication2 | B7 | 183 |
| Oem1 | BA | 186 |
| Oem1 | BA | 186 |
| Oemplus | BB | 187 |
| Oemcomma | BC | 188 |
| OemMinus | BD | 189 |
| OemPeriod | BE | 190 |
| OemQuestion | BF | 191 |
| OemQuestion | BF | 191 |
| Oemtilde | C0 | 192 |
| Oemtilde | C0 | 192 |
| OemOpenBrackets | DB | 219 |
| OemOpenBrackets | DB | 219 |
| Oem5 | DC | 220 |
| Oem5 | DC | 220 |
| Oem6 | DD | 221 |
| Oem6 | DD | 221 |
| Oem7 | DE | 222 |
| Oem7 | DE | 222 |
| Oem8 | DF | 223 |
| OemBackslash | E2 | 226 |
| OemBackslash | E2 | 226 |
| ProcessKey | E5 | 229 |
| Packet | E7 | 231 |
| Attn | F6 | 246 |
| Crsel | F7 | 247 |
| Exsel | F8 | 248 |
| EraseEof | F9 | 249 |
| Play | FA | 250 |
| Zoom | FB | 251 |
| NoName | FC | 252 |
| Pa1 | FD | 253 |
| OemClear | FE | 254 |
| KeyCode | FFFF | 65535 |
| Shift | 10000 | 65536 |
| Control | 20000 | 131072 |
| Alt | 40000 | 262144 |
| Modifiers | FFFF0000 | 4294901760 |
TestKeys.Test() で、↑の表の元データが、コンソールに出力されます。
using System;
using System.Text;
using System.Windows.Forms;
namespace UnitTest
{
class TestKeys : Tester
{
public override void Test()
{
Keys[] keys = (Keys[])Enum.GetValues(typeof(Keys));
foreach (Keys key in keys)
{
var sb = new StringBuilder();
sb.Append(key);
sb.Append(", ");
sb.Append(((uint)key).ToString("X"));
sb.Append(", ");
sb.Append((uint)key);
Console.WriteLine(sb.ToString());
}
}
}
}
このサイトのページへのリンクは自由に行っていただいてかまいません。
このサイトで公開している全ての画像、プログラム、文書の無断転載を禁止します。
ここをクリック
すると表示されるページから作者へメールで連絡できます。