Control.ProcessCmdKey(Message, Keys) メソッド

定義

コマンド キーを処理します。

protected:
 virtual bool ProcessCmdKey(System::Windows::Forms::Message % msg, System::Windows::Forms::Keys keyData);
protected virtual bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData);
abstract member ProcessCmdKey : Message * System.Windows.Forms.Keys -> bool
override this.ProcessCmdKey : Message * System.Windows.Forms.Keys -> bool
Protected Overridable Function ProcessCmdKey (ByRef msg As Message, keyData As Keys) As Boolean

パラメーター

msg
Message

処理するウィンドウ メッセージを表す参照渡しの Message

keyData
Keys

処理するキーを表す Keys 値の 1 つ。

返品

true 文字がコントロールによって処理された場合。それ以外の場合は false

注釈

このメソッドは、コマンド キーを処理するためにメッセージの前処理中に呼び出されます。 コマンド キーは、通常の入力キーよりも常に優先されるキーです。 コマンド キーの例としては、アクセラレータやメニュー ショートカットがあります。 メソッドは、コマンド キーを処理したことを示す true を返すか、キーがコマンド キーではないことを示す false を返す必要があります。 このメソッドは、コントロールがWindows フォーム アプリケーションまたは ActiveX コントロールとしてホストされている場合にのみ呼び出されます。

ProcessCmdKey メソッドは、まずコントロールにContextMenuがあるかどうかを判断し、ContextMenuがコマンド キーを処理できるようにします。 コマンド キーがメニュー ショートカットではなく、コントロールに親がある場合、そのキーは親の ProcessCmdKey メソッドに渡されます。 その結果、コマンド キーはコントロール階層の上に "バブル" されます。 ユーザーが押したキーに加えて、キー データは、修飾キーがキーと同時に押されたキー (ある場合) も示します。 修飾キーには、Shift キー、Ctrl キー、Alt キーがあります。

注意 (継承者)

派生クラスの ProcessCmdKey(Message, Keys) メソッドをオーバーライドする場合、コントロールはキーを処理したことを示す true を返す必要があります。 コントロールによって処理されないキーの場合は、基底クラスの ProcessCmdKey(Message, Keys) メソッドを呼び出した結果を返す必要があります。 このメソッドをオーバーライドする必要がある場合、コントロールはめったに必要ありません。

適用対象