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

定義

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

protected public:
 virtual bool ProcessCmdKey(System::Windows::Forms::Message % msg, System::Windows::Forms::Keys keyData, System::Windows::Forms::Control ^ control);
protected internal virtual bool ProcessCmdKey (ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData, System.Windows.Forms.Control control);
override this.ProcessCmdKey : Message * System.Windows.Forms.Keys * System.Windows.Forms.Control -> bool
Protected Friend Overridable Function ProcessCmdKey (ByRef msg As Message, keyData As Keys, control As Control) As Boolean

パラメーター

msg
Message

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

keyData
Keys

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

control
Control

コマンド キーの適用先のコントロール。

戻り値

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

注釈

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

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

注意 (継承者)

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

適用対象