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 值,表示要處理的按鍵。

傳回

Boolean

如果字元已由控制項處理,則為 true,否則為 false

備註

這個方法會在訊息前置處理期間呼叫,以處理命令索引鍵。 命令金鑰是一律優先于一般輸入索引鍵的索引鍵。 命令鍵的範例包括快速鍵和功能表快捷方式。 方法必須返回 true 以指出它已處理命令金鑰,或 false 表示索引鍵不是命令索引鍵。 只有在控制項裝載于Windows Forms應用程式或 ActiveX 控制項時,才會呼叫此方法。

方法 ProcessCmdKey 會先判斷控制項 ContextMenu 是否有 ,如果是,則允許 ContextMenu 處理命令索引鍵。 如果命令鍵不是功能表快捷方式,而且控制項具有父系,則會將索引鍵傳遞至父 ProcessCmdKey 系的 方法。 淨效果是命令索引鍵會「泡泡」控制階層。 除了使用者按下的按鍵之外,按鍵資料也會指出,如果有的話,修飾詞按鍵與按鍵同步選取。 修飾詞鍵包括 SHIFT、CTRL 和 ALT 鍵。

給繼承者的注意事項

ProcessCmdKey(Message, Keys) 衍生類別中覆寫 方法時,控制項應該會傳回 true ,以指出它已處理索引鍵。 對於控制項未處理的索引鍵,應該傳回呼叫基類 ProcessCmdKey(Message, Keys) 方法的結果。 如果曾經需要覆寫這個方法,則控制項很少。

適用於