keyPressとkeyDownとkeyUpイベントって結局何が違うんだ
正直な話VisualStudio上のイベントプロパティの説明文が畜生すぎる
発生タイミング
1.keyDown
2.keyPress
3.KeyUp
ここまではまあわかるね。単語的にね。えらい。ただ、そもそもkeyDownとkeyPressは機能が異なるので、発生タイミングはそれほど意味を持たないかもしれない。
発生条件と返却・処理値
keyPress
- 文字キーを押された時のみ発生する
- 主にChar(keyChar)を処理・返却する
- 入力された「文字」の判定をする際に使う
- 下図の範囲
keyDown、keyUp
- 修飾キーを含めた全てのキーが押された時に発生する
- キーコード(e.KeyCode、Keys)とかキーの機能オブジェクト(enumだったりboolだったり)や関数(ProcessTabKey)とかを処理・返却する
- 修飾キー(方向キーとかEnterとかTabとか)が入力されたことを検知する時に使う事が多い
- 下図の範囲
例
keyUp・keyDownだとこことか
C# のキーイベントであるKeyDownイベントとKeyUpイベントの基本的な使用例 - Yahoo!知恵袋
C# にて、Shiftキー、又は、 Controlキー、又は、 Altキーを押しながら、文字キー等を押した場合のKeyDownイベントとKeyUpイベントの使用例 - Yahoo!知恵袋
って知恵ノート終わるんかいお前…
後でこっそりコピーしておきたいけどこの作者のノート量勉強にはなるけどえげつないから全部は確保しきれないよ…クソーッ