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 添加的。

例外

菜单上 CommandID 已存在指定的 MenuCommand 项。

注解

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

注释

尝试添加具有已存在的 CommandID 菜单命令将引发一个 InvalidOperationException。 添加菜单命令时,请务必检查它是否尚未使用 FindCommand 该方法的菜单上,或者明智地使用异常处理。

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

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

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

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

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

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

适用于

另请参阅