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

例外

指定したMenuCommandCommandIDは、既にメニューに存在します。

注釈

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

Note

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

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

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

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

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

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

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

適用対象

こちらもご覧ください