次の方法で共有


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

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

キーボード イベント

Windows フォームには、ユーザーがキーボード キーを押したときに発生する 2 つのイベントと、ユーザーがキーボード キーを離したときに 1 つのイベントが用意されています。

  • KeyDown イベントは 1 回発生します。
  • KeyPress イベント。ユーザーが同じキーを押したときに複数回発生する可能性があります。
  • KeyUp イベントは、ユーザーがキーを離したときに 1 回発生します。

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

次の表では、3 つのキーボード イベントについて説明します。

キーボードイベント 説明 結果
KeyDown このイベントは、ユーザーが物理キーを押したときに発生します。 KeyDownのハンドラーは次を受け取ります。

  • KeyEventArgs パラメーター。KeyCode プロパティを提供します (物理キーボード ボタンを指定します)。
  • Modifiers プロパティ (Shift、Ctrl、Alt)。
  • KeyData プロパティ (キー コードと修飾子を組み合わせたもの)。 KeyEventArgs パラメーターには、次の情報も含まれます。

    • Handled プロパティ。基になるコントロールがキーを受け取らないように設定できます。
    • SuppressKeyPressプロパティ。このプロパティを使用すると、そのキーストロークのKeyPressイベントとKeyUpイベントを抑制できます。
KeyPress このイベントは、キーまたはキーの組み合わせが押された結果として文字が生成されたときに発生します。 たとえば、ユーザーが Shift キーと小文字の "a" キーを押すと、大文字の "A" 文字になります。 KeyPress は、 KeyDown後に発生します。

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

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

    • Shift キーを押した場合の文字コード 65
    • または Caps ロック がオンの場合、単独で押されると 97 になります。
    • Ctrl キーを押した場合は 1 を指定します。
KeyUp このイベントは、ユーザーが物理キーを解放したときに発生します。 KeyUpのハンドラーは次を受け取ります。

  • KeyEventArgs パラメーター:

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

こちらも参照ください