ContextMenu.ProcessCmdKey(Message, Keys, Control) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
處理命令按鍵。
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
參數
- control
- Control
要套用此命令鍵的控制項。
傳回
如果字元已由控制項處理,則為 true
,否則為 false
。
備註
這個方法會在訊息前置處理期間呼叫,以處理命令索引鍵。 命令金鑰是一律優先于一般輸入索引鍵的索引鍵。 命令鍵的範例包括快速鍵和功能表快捷方式。 方法必須返回 true
以指出它已處理命令金鑰,或 false
表示索引鍵不是命令索引鍵。 只有在控制項裝載于Windows Forms應用程式中或做為ActiveX控制項時,才會呼叫此方法。
方法 ProcessCmdKey 會先判斷控制項 ContextMenu 是否有 ,如果是,則允許 ContextMenu 處理命令索引鍵。 如果命令鍵不是功能表快捷方式,而且控制項具有父系,則會將索引鍵傳遞至父 ProcessCmdKey 系的 方法。 淨效果是命令索引鍵會「泡泡」控制階層。 除了使用者按下的按鍵之外,按鍵資料也會指出,如果有的話,修飾詞按鍵與按鍵同步選取。 修飾詞鍵包括 SHIFT、CTRL 和 ALT 鍵。
給繼承者的注意事項
在 ProcessCmdKey(Message, Keys) 衍生類別中覆寫 方法時,控制項應該會傳回 true
,以指出它已處理索引鍵。 對於控制項未處理的索引鍵,應該傳回呼叫基類 ProcessCmdKey(Message, Keys) 方法的結果。 如果曾經需要覆寫這個方法,則控制項很少。