Control.ProcessCmdKey 方法

处理命令键。

**命名空间:**System.Windows.Forms
**程序集:**System.Windows.Forms(在 system.windows.forms.dll 中)

语法

声明
Protected Overridable Function ProcessCmdKey ( _
    ByRef msg As Message, _
    keyData As Keys _
) As Boolean
用法
Dim msg As Message
Dim keyData As Keys
Dim returnValue As Boolean

returnValue = Me.ProcessCmdKey(msg, keyData)
protected virtual bool ProcessCmdKey (
    ref Message msg,
    Keys keyData
)
protected:
virtual bool ProcessCmdKey (
    Message% msg, 
    Keys keyData
)
protected boolean ProcessCmdKey (
    /** @ref */ Message msg, 
    Keys keyData
)
JScript 不支持通过引用传递值类型参数。

参数

  • msg
    通过引用传递的 Message,它表示要处理的窗口消息。
  • keyData
    Keys 值之一,它表示要处理的键。

返回值

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

备注

在消息预处理过程中调用此方法,以处理命令键。命令键是始终比常规输入键具有优先权的键。命令键的示例包括快捷键和菜单快捷方式。此方法必须返回 true,以指示它已经处理完命令键,或者 false,以指示该键不是命令键。仅当控件承载在 Windows 窗体应用程序中或充当 ActiveX 控件时,才调用此方法。

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

给继承者的说明 在派生类中重写 ProcessCmdKey 方法时,控件应返回 true 以指示它已处理该键。对于未由该控件处理的键,应返回调用基类的 ProcessCmdKey 方法所得的结果。控件很少需要重写此方法(即使有的话)。

.NET Framework 安全性

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

请参见

参考

Control 类
Control 成员
System.Windows.Forms 命名空间