キーボード イベントの使用

ほとんどの Windows フォーム プログラムは、キーボード イベントを処理してキーボード入力を処理します。 この記事では、各イベントを使用するタイミングや各イベントが提供するデータの詳細など、キーボード イベントの概要について説明します。 イベント全般の詳細については、「 イベントの概要」を参照してください。

キーボード イベント

Windows フォームユーザーがキーボード キーを押して離すと、次のイベントが発生します。

ユーザーがキーを押すと、Windows フォームは、キーボード メッセージで文字キーと物理キーのどちらを指定するかに基づいて、発生させるイベントを決定します。 文字キーと物理キーの詳細については、 キーボードの概要、キーボード イベントに関するページを参照してください。

KeyDown イベント

KeyDown イベントは、ユーザーが物理キーを押したときに発生します。 キーが押されている場合、このイベントは OS キーボードの繰り返し速度で繰り返されます。

KeyDownのハンドラーは、次を提供するKeyEventArgs パラメーターを受け取ります。

  • KeyCodeプロパティ。物理キーボード ボタンを指定します。
  • Modifiers プロパティ (ShiftCtrl、またはAlt)。
  • キー コードと修飾子を組み合わせた KeyData プロパティ。
  • Handled プロパティ。基になるコントロールが設定時にキーを受け取らないようにします。
  • SuppressKeyPress プロパティ。このプロパティは、そのキーストロークのKeyPressイベントとKeyUpイベントを抑制します。

KeyPress イベント

KeyPress イベントは、キーまたはキーが押される際に文字が生成されるときに発生します。 たとえば、 Shift キー を押しながら小文字の "a" キーを押すと、大文字の "A" 文字が生成されます。 KeyPressKeyDown 後に発生し、キーが保持されている間は OS キーボードの繰り返し速度で繰り返されます。

KeyPressのハンドラーは、押されたキーの文字コードを含むKeyPressEventArgs パラメーターを受け取ります。 この文字コードは、文字キーと修飾子キーの組み合わせごとに一意です。

たとえば、"A" キーは次を生成します。

  • Shift キーを押した場合の文字コード 65。
  • Caps Lock がオンの場合の文字コード 65。
  • 文字コード 97 (単独で押された場合)。
  • Ctrl キーを押した場合の文字コード 1。

KeyUp イベント

KeyUp イベントは、ユーザーが物理キーを解放したときに 1 回発生します。

KeyUpのハンドラーは、次を提供するKeyEventArgs パラメーターを受け取ります。

  • KeyCodeプロパティ。物理キーボード ボタンを指定します。
  • Modifiers プロパティ (ShiftCtrl、またはAlt)。
  • キー コードと修飾子を組み合わせた KeyData プロパティ。

こちらも参照ください