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

命令键应用于的控件。

返回

true 如果控件处理了字符,则为否则,为 false.

注解

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

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

继承者说明

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

适用于