次の方法で共有


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

多くの Windows フォーム プログラムは、キーボード イベントを処理することによってキーボード入力を処理します。 ここでは、どのような場合に各キーボード イベントを使用するか、また各イベントがどのようなデータを提供するかについての詳細を含め、キーボード イベントの概要について説明します。 また、「イベント ハンドラーの概要 (Windows フォーム)」および「イベントの概要 (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 このイベントは、1 つまたは複数のキーを押すことにより文字が出力された場合に発生します。 たとえば、Shift キーを押しながら小文字の "a" キーを押すと、大文字の "A" が出力されます。 KeyPress は、KeyDown の後に発生します。

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

    たとえば、"A" キーは次の文字コードを生成します。

    • 文字コード 65 (Shift キーまたは Caps Lock キーと一緒に押した場合)
    • 97 (単独で押した場合)
    • 1 (Ctrl キーと一緒に押した場合)
KeyUp このイベントは、ユーザーが物理キーを離すと発生します。 KeyUp のハンドラーは、次の項目を受け取ります。

  • KeyEventArgs パラメーターの値。次のプロパティを提供します。

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

関連項目