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