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 值之一,表示要处理的键。

control
Control

命令键应用到的控件。

返回

Boolean

如果字符已由控件处理,则为 true;否则为 false

注解

在消息预处理期间调用此方法来处理命令键。 命令键是始终优先于常规输入键的键。 命令键的示例包括快捷键和菜单快捷方式。 该方法必须返回 true 以指示它已处理命令键,或 false 指示该键不是命令键。 仅当控件托管在Windows 窗体应用程序中或作为ActiveX控件时,才调用此方法。

该方法 ProcessCmdKey 首先确定控件是否具有一个 ContextMenu,如果是这样,则允许 ContextMenu 处理命令键。 如果命令键不是菜单快捷方式,并且控件具有父级,则键将传递给父 ProcessCmdKey 级的方法。 净效果是命令键“浮出水面”控件层次结构。 除了用户按下的键外,键数据还指示与键同时按下了哪些修饰键(如果有的话)。 修饰键包括 SHIFT、Ctrl 和 ALT 键。

继承者说明

重写 ProcessCmdKey(Message, Keys) 派生类中的方法时,控件应返回 true 以指示它已处理密钥。 对于控件未处理的键,应返回调用基类 ProcessCmdKey(Message, Keys) 方法的结果。 控件很少(如果有)需要重写此方法。

适用于