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 が、既にメニュー上に存在します。

注釈

MenuCommandsおよび StandardCommands 列挙には、特定のメニュー上の場所に既に関連付けられている定義済みの標準コマンドとメニュー コマンドの識別子が含まれていますCommandID

注意

既に存在 CommandID する メニュー コマンドを追加しようとすると、 InvalidOperationExceptionがスローされます。 メニュー コマンドを追加するときは、 メソッドを使用してFindCommandメニューにまだ存在しないことをチェックするか、例外処理を適切に使用してください。

次の手順を使用して、定義済みのメニュー コマンドにイベント ハンドラーをアタッチできます。

  1. イベント ハンドラーとリンクするメニュー コマンドがメニューに追加されているか、 メソッドに配置されている場合は、後で FindCommand このメニュー コマンドを復元するかどうか、および新しいイベント ハンドラーから現在のイベント ハンドラーを呼び出すかどうかを検討してください。 コードでメニュー コマンドを復元したり、イベント ハンドラーの呼び出しをチェーンしたりする場合は、必ずメニュー コマンドへの参照をどこかに格納してください。

  2. メソッドを使用してRemoveCommand、同じCommandIDを持つ既存のメニュー コマンドがメニューから削除されていることを確認します。

  3. MenuCommand しい を作成し、追加するコマンドを表す と共 CommandID に、コンストラクターでイベント ハンドラーを指定します。 各標準メニュー コマンドは、それが追加される定義済みのメニューの場所に関連付けられます。 サポートされているコマンド ID は、 および MenuCommands 列挙でStandardCommands定義されています。

  4. メニュー コマンドの既存のイベント ハンドラーを呼び出す場合は、メニュー コマンドの呼び出しイベントを処理するイベント ハンドラーから、メニューで置き換えたメニュー コマンドのメソッドを呼び Invoke 出します。

  5. 置き換えた既存のメニュー コマンドのイベント ハンドラーを復元する場合は、作成した置換メニュー コマンドを削除した後に、保存されている既存のメニュー コマンドを追加します。 この動作を型の メソッドに Dispose 追加することもできます。

適用対象

こちらもご覧ください