次の方法で共有


キーボード イベントの使用 (Windows フォーム .NET)

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

キーボード イベント

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" キーは次の値を生成します。

    • 文字コード 65 (Shift キーを押した場合)
    • または CAPS LOCK キー、それ自体で押された場合は 97、
    • Ctrl キーを押すと 1 になります。
KeyUp このイベントは、ユーザーが物理キーを解放したときに発生します。 KeyUp のハンドラーは以下を受け取ります。

  • KeyEventArgs パラメーター:

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

関連項目