Control.ProcessCmdKey(Message, Keys) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
处理命令键。
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
参数
返回
true 如果控件处理了字符,则为否则,为 false.
注解
在消息预处理期间调用此方法来处理命令键。 命令键是始终优先于常规输入键的键。 命令键的示例包括快捷键和菜单快捷方式。 该方法必须返回 true 以指示它已处理命令键,或 false 指示该键不是命令键。 仅当控件托管在Windows 窗体应用程序中或作为 ActiveX 控件时,才调用此方法。
该方法 ProcessCmdKey 首先确定控件是否有一个 ContextMenu,如果是,则允许 ContextMenu 处理命令键。 如果命令键不是菜单快捷方式,并且控件具有父级,则键将传递给父 ProcessCmdKey 级的方法。 净效果是命令键“气泡”向上显示控件层次结构。 除了用户按下的键外,键数据还指示与键同时按下了哪些修饰键(如果有)。 修饰键包括 Shift、Ctrl 和 Alt 键。
继承者说明
在 ProcessCmdKey(Message, Keys) 重写派生类中的方法时,控件应返回 true 以指示它已处理密钥。 对于控件未处理的键,应返回调用基类 ProcessCmdKey(Message, Keys) 方法的结果。 如果曾经,控件很少需要重写此方法。