次の方法で共有


IMenuCommandService.AddCommand メソッド

指定した標準メニュー コマンドをメニューに追加します。

名前空間: System.ComponentModel.Design
アセンブリ: System (system.dll 内)

構文

'宣言
Sub AddCommand ( _
    command As MenuCommand _
)
'使用
Dim instance As IMenuCommandService
Dim command As MenuCommand

instance.AddCommand(command)
void AddCommand (
    MenuCommand command
)
void AddCommand (
    MenuCommand^ command
)
void AddCommand (
    MenuCommand command
)
function AddCommand (
    command : MenuCommand
)

パラメータ

例外

例外の種類 条件

InvalidOperationException

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

解説

MenuCommands 列挙体と StandardCommands 列挙体には、特定のメニュー上の位置に既に関連付けられている、定義済みの標準コマンドやメニュー コマンドに対応する CommandID 識別子が格納されています。

注意

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

イベント ハンドラを定義済みのメニュー コマンドに結び付けるには、次の手順に従います。

  1. イベント ハンドラにリンクするメニュー コマンドが既にメニューに追加されている場合や、FindCommand メソッドを使用して確認されている場合は、このメニュー コマンドを後で元に戻すのかどうか、および新しいイベント ハンドラから現在のイベント ハンドラを呼び出すのかどうかを検討します。コードでメニュー コマンドを元に戻す場合、またはイベント ハンドラの呼び出しをチェインする場合は、メニュー コマンドへの参照をどこかに保管するようにしてください。

  2. 同じ CommandID を持つ、以前存在していたメニュー コマンドは、RemoveCommand メソッドを使用して、メニューから必ず削除してください。

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

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

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

プラットフォーム

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 2.0、1.1、1.0

参照

関連項目

IMenuCommandService インターフェイス
IMenuCommandService メンバ
System.ComponentModel.Design 名前空間
MenuCommand
CommandID クラス