Share via


IMenuCommandService.AddCommand(MenuCommand) 方法

定义

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

public:
 void AddCommand(System::ComponentModel::Design::MenuCommand ^ command);
public void AddCommand (System.ComponentModel.Design.MenuCommand command);
abstract member AddCommand : System.ComponentModel.Design.MenuCommand -> unit
Public Sub AddCommand (command As MenuCommand)

参数

command
MenuCommand

要添加的 MenuCommand

例外

菜单上已存在指定 CommandIDMenuCommand

注解

MenuCommandsStandardCommands 枚举包含CommandID预定义的标准命令和菜单命令的标识符,这些命令已与特定菜单上的位置相关联。

注意

尝试添加具有 已存在的 CommandID 菜单命令将引发 InvalidOperationException。 添加菜单命令时,请确保使用 方法检查该命令尚未位于菜单上FindCommand,或明智地使用异常处理。

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

  1. 如果与事件处理程序链接的菜单命令已添加到菜单中,或者与 方法一起 FindCommand 找到,请考虑以后是否要还原此菜单命令,以及是否要从新的事件处理程序调用当前事件处理程序。 如果代码可能还原菜单命令或链接事件处理程序的调用,请确保将对菜单命令的引用存储在某个位置。

  2. 确保已使用 RemoveCommand 方法从菜单中删除任何以前存在的具有相同 的CommandID菜单命令。

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

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

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

适用于

另请参阅