次の方法で共有


Control.ProcessCmdKey メソッド

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

Protected Overridable Function ProcessCmdKey( _
   ByRef msg As Message, _   ByVal keyData As Keys _) As Boolean
[C#]
protected virtual bool ProcessCmdKey(   ref Messagemsg,KeyskeyData);
[C++]
protected: virtual bool ProcessCmdKey(Message* msg,KeyskeyData);
[JScript]
protected function ProcessCmdKey(
   msg : Message,keyData : Keys) : Boolean;

パラメータ

  • msg
    処理するウィンドウ メッセージを表す、参照渡しされた Message
  • keyData
    処理するキーを表す Keys 値の 1 つ。

戻り値

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

解説

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

ProcessCmdKey メソッドは、まずコントロールに ContextMenu があるかどうかを確認し、コンテキスト メニューがある場合は、 ContextMenu でコマンド キーを処理できるようにします。コマンド キーがメニューのショートカットでない場合、コントロールが親を持っていれば、キーは親の ProcessCmdKey メソッドに渡されます。最終的に、コマンド キーはコントロールの階層構造を "押し上げられる" ことになります。キー データは、キーと同時に修飾子キーが押された場合は、ユーザーが押したキーだけではなく、どの修飾子キーが押されたかも示します。修飾子キーには、Shift、Ctrl、Alt の各キーがあります。

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

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

Control クラス | Control メンバ | System.Windows.Forms 名前空間