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. 使用 方法,確定已從功能表中移除任何先前具有相同的 CommandID 功能表 RemoveCommand 命令。

  3. 建立新的 MenuCommand ,並在建構函式中指定事件處理程式,以及 CommandID 代表要加入的 命令。 每個標準功能表命令都會與其新增至的預先定義功能表位置相關聯。 支援的命令標識碼定義於和 MenuCommands 列舉中StandardCommands

  4. 如果您想要針對功能表命令叫用任何預先存在的事件處理程式,請從處理功能表命令叫用叫用事件的事件處理程式,呼叫 Invoke 您在功能表中取代的功能表命令方法。

  5. 如果您想要還原已取代之預先存在功能表命令的事件處理程式,請在移除您所建立的取代功能表命令之後,新增預存的預存功能表命令。 您可能想要將此行為新增至 Dispose 您類型的 方法。

適用於

另請參閱