ほとんどの Windows フォーム プログラムは、キーボード イベントを処理してキーボード入力を処理します。 この記事では、各イベントを使用するタイミングや各イベントが提供するデータの詳細など、キーボード イベントの概要について説明します。 イベント全般の詳細については、「 イベントの概要」を参照してください。
キーボード イベント
Windows フォームユーザーがキーボード キーを押して離すと、次のイベントが発生します。
ユーザーがキーを押すと、Windows フォームは、キーボード メッセージで文字キーと物理キーのどちらを指定するかに基づいて、発生させるイベントを決定します。 文字キーと物理キーの詳細については、 キーボードの概要、キーボード イベントに関するページを参照してください。
KeyDown イベント
KeyDown イベントは、ユーザーが物理キーを押したときに発生します。 キーが押されている場合、このイベントは OS キーボードの繰り返し速度で繰り返されます。
KeyDownのハンドラーは、次を提供するKeyEventArgs パラメーターを受け取ります。
- KeyCodeプロパティ。物理キーボード ボタンを指定します。
-
Modifiers プロパティ (
Shift、Ctrl、またはAlt)。 - キー コードと修飾子を組み合わせた KeyData プロパティ。
- Handled プロパティ。基になるコントロールが設定時にキーを受け取らないようにします。
- SuppressKeyPress プロパティ。このプロパティは、そのキーストロークのKeyPressイベントとKeyUpイベントを抑制します。
KeyPress イベント
KeyPress イベントは、キーまたはキーが押される際に文字が生成されるときに発生します。 たとえば、 Shift キー を押しながら小文字の "a" キーを押すと、大文字の "A" 文字が生成されます。 KeyPress は KeyDown 後に発生し、キーが保持されている間は OS キーボードの繰り返し速度で繰り返されます。
KeyPressのハンドラーは、押されたキーの文字コードを含むKeyPressEventArgs パラメーターを受け取ります。 この文字コードは、文字キーと修飾子キーの組み合わせごとに一意です。
たとえば、"A" キーは次を生成します。
- Shift キーを押した場合の文字コード 65。
- Caps Lock がオンの場合の文字コード 65。
- 文字コード 97 (単独で押された場合)。
- Ctrl キーを押した場合の文字コード 1。
KeyUp イベント
KeyUp イベントは、ユーザーが物理キーを解放したときに 1 回発生します。
KeyUpのハンドラーは、次を提供するKeyEventArgs パラメーターを受け取ります。
- KeyCodeプロパティ。物理キーボード ボタンを指定します。
-
Modifiers プロパティ (
Shift、Ctrl、またはAlt)。 - キー コードと修飾子を組み合わせた KeyData プロパティ。
こちらも参照ください
.NET Desktop feedback