Windows フォーム アプリケーションにおけるユーザー入力
Windows フォームでのユーザー入力は、Windows メッセージの形式でアプリケーションに送られます。 これらのメッセージは、オーバーライドできる一連のメソッドにより、アプリケーション、フォーム、コントロールの各レベルで処理されます。 これらのメソッドがマウス メッセージやキーボード メッセージを受け取るとイベントが発生し、このイベントを処理することで、マウス入力やキーボード入力に関する情報を取得できます。 多くの場合、Windows フォーム アプリケーションは、これらのイベントを処理するだけですべてのユーザー入力を処理できますが、 アプリケーションによっては、アプリケーション、フォーム、またはコントロールよりも前に特定のメッセージを受け取ることができるように、メッセージを処理するメソッドのいずれかをオーバーライドする必要がある場合もあります。
マウス イベントとキーボード イベント
すべての Windows フォーム コントロールは、マウス入力とキーボード入力に関連するイベント セットを継承します。 たとえば、コントロールは、KeyPress イベントを処理して、押されたキーの文字コードを判別したり、MouseClick イベントを処理して、マウス クリックの位置を特定したりできます。 マウス イベントとキーボード イベントの詳細については、「キーボード イベントの使用」および「Windows フォームにおけるマウス イベント」を参照してください。
ユーザー入力メッセージを処理するメソッド
フォームとコントロールは、IMessageFilter インターフェイスと、メッセージ キュー内のさまざまな位置で Windows メッセージを処理する、オーバーライドできる一連のメソッドにアクセスできます。 これらのメソッドはすべて、Windows メッセージの下位の詳細情報をカプセル化する Message パラメーターを使用します。 これらのメソッドを実装またはオーバーライドしてメッセージを調べてから、メッセージを使用したり、メッセージ キュー内の次のコンシューマーにメッセージを渡したりできます。 Windows フォームですべての Windows メッセージを処理するメソッドを次の表に示します。
メソッド |
メモ |
---|---|
キューに追加された (またはポストされた) Windows メッセージをアプリケーション レベルで受け取ります。 |
|
Windows メッセージが処理される前に、フォーム レベルまたはコントロール レベルでメッセージを受け取ります。 |
|
Windows メッセージをフォーム レベルまたはコントロール レベルで処理します。 |
|
Windows メッセージの既定の処理をフォーム レベルまたはコントロール レベルで実行します。 ウィンドウの最小限の機能を提供します。 |
|
メッセージが処理された後に、フォーム レベルまたはコントロール レベルでメッセージを受け取ります。 このメソッドが呼び出されるようにするには、EnableNotifyMessage スタイル ビットを設定する必要があります。 |
キーボード メッセージとマウス メッセージは、これらのメッセージの種類に固有の、オーバーライドできる追加のメソッドによっても処理されます。 詳細については、「キーボード入力のしくみ」および「Windows フォームにおけるマウス入力のしくみ」を参照してください。