Freigeben über


IMenuCommandService.AddCommand-Methode

Fügt dem Menü den angegebenen Standardmenübefehl hinzu.

Namespace: System.ComponentModel.Design
Assembly: System (in system.dll)

Syntax

'Declaration
Sub AddCommand ( _
    command As MenuCommand _
)
'Usage
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
)

Parameter

Ausnahmen

Ausnahmetyp Bedingung

InvalidOperationException

Die CommandID des angegebenen MenuCommand ist bereits in einem Menü vorhanden.

Hinweise

Die MenuCommands-Enumeration und die StandardCommands-Enumeration enthalten CommandID-Bezeichner für vordefinierte Standardbefehle und Menübefehle, die bereits einer Position in einem bestimmten Menü zugeordnet sind.

Hinweis

Wenn Sie versuchen, einen Menübefehl mit einer bereits vorhandenen CommandID hinzuzufügen, wird eine InvalidOperationException ausgelöst. Beim Hinzufügen eines Menübefehls müssen Sie mit der FindCommand-Methode sicherstellen, dass sich der Befehl nicht bereits in einem Menü befindet, oder die Ausnahmebehandlung sinnvoll verwenden.

Mit der folgenden Prozedur können Sie einen Ereignishandler an einen vordefinierten Menübefehl anfügen:

  1. Wenn der Menübefehl, der mit einem Ereignishandler verknüpft werden soll, einem Menü hinzugefügt wurde oder mit der FindCommand-Methode gesucht wird, müssen Sie entscheiden, ob Sie diesen Menübefehl später wiederherstellen möchten und ob Sie den aktuellen Ereignishandler über den neuen Ereignishandler aufrufen möchten. Damit der Code den Menübefehl wiederherstellen oder den Aufruf von Ereignishandlern verketten kann, müssen Sie sicherstellen, dass ein Verweis auf den Menübefehl gespeichert wird.

  2. Vergewissern Sie sich, dass ein eventuell bereits vorhandener Menübefehl mit derselben CommandID mit der RemoveCommand-Methode aus dem Menü entfernt wurde.

  3. Erstellen Sie einen neuen MenuCommand, und geben Sie im Konstruktor den Ereignishandler gemeinsam mit einer CommandID an, die den hinzuzufügenden Befehl darstellt. Jeder Standardmenübefehl ist mit einer vordefinierten Menüposition verknüpft, an der er hinzugefügt wird. Die unterstützten Befehls-IDs sind in der StandardCommands-Enumeration und der MenuCommands-Enumeration definiert.

  4. Wenn Sie einen bereits vorhandenen Ereignishandler für den Menübefehl aufrufen möchten, rufen Sie die Invoke-Methode des Menübefehls, den Sie im Menü ersetzt haben, über den Ereignishandler auf, der das Aufrufereignis des Menübefehls behandelt.

  5. Wenn Sie den Ereignishandler eines bereits vorhandenen Menübefehls, den Sie ersetzt haben, wiederherstellen möchten, entfernen Sie zunächst den erstellten Ersatzmenübefehl, und fügen Sie anschließend den gespeicherten, bereits vorhandenen Menübefehl wieder hinzu. Unter Umständen empfiehlt es sich, dieses Verhalten der Dispose-Methode für den Typ hinzuzufügen.

Plattformen

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 unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

IMenuCommandService-Schnittstelle
IMenuCommandService-Member
System.ComponentModel.Design-Namespace
MenuCommand
CommandID-Klasse