IMenuCommandService.AddCommand 方法

将指定的标准菜单命令添加到菜单中。

**命名空间:**System.ComponentModel.Design
**程序集:**System(在 system.dll 中)

语法

声明
Sub AddCommand ( _
    command As MenuCommand _
)
用法
Dim instance As IMenuCommandService
Dim command As MenuCommand

instance.AddCommand(command)
void AddCommand (
    MenuCommand command
)
void AddCommand (
    MenuCommand^ command
)
void AddCommand (
    MenuCommand command
)
function AddCommand (
    command : MenuCommand
)

参数

异常

异常类型 条件

InvalidOperationException

菜单上已存在指定 MenuCommandCommandID

备注

MenuCommandsStandardCommands 枚举包含已与特定菜单中某个位置关联的预定义标准命令和菜单命令的 CommandID 标识符。

提示

尝试使用已有的 CommandID 添加菜单命令将引发 InvalidOperationException。添加菜单命令时,请务必使用 FindCommand 方法进行检查,确保它还不在菜单上,或者恰当地使用异常处理。

您可以使用以下过程将事件处理程序附加到预定义的菜单命令:

  1. 如果要与事件处理程序链接的菜单命令已被添加到菜单中,或已通过 FindCommand 方法被找到,则需要考虑以后是否要还原此菜单命令,以及是否要从新的事件处理程序调用当前的事件处理程序。如果您的代码可能还原菜单命令或链接事件处理程序调用,则一定要在其他位置存储对该菜单命令的引用。

  2. 确保已使用 RemoveCommand 方法从菜单中移除了先前存在的具有相同 CommandID 的菜单命令。

  3. 创建新的 MenuCommand 并在构造函数中指定事件处理程序,同时指定 CommandID,它表示要添加的命令。每个标准菜单命令都与它添加到的预定义菜单位置相关联。受支持的命令 ID 在 StandardCommandsMenuCommands 枚举中定义。

  4. 如果要为菜单命令调用任何预先存在的事件处理程序,请通过处理菜单命令的调用事件的事件处理程序,调用菜单上已替换的菜单命令的 Invoke 方法。

  5. 如果您有兴趣还原已替换的预先存在的菜单命令的事件处理程序,请在移除所创建的替换菜单命令后,添加已存储的预先存在的菜单命令。您可能希望将此行为添加到您的 Dispose 方法中。

平台

Windows 98、Windows 2000 SP4、Windows Millennium Edition、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

请参见

参考

IMenuCommandService 接口
IMenuCommandService 成员
System.ComponentModel.Design 命名空间
MenuCommand
CommandID 类