Freigeben über


IMenuCommandService.AddCommand(MenuCommand) Methode

Definition

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

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)

Parameter

command
MenuCommand

Das hinzuzufügende MenuCommand.

Ausnahmen

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

Hinweise

Die MenuCommands Enumerationen und StandardCommands enthalten CommandID Bezeichner für vordefinierte Standardbefehle und Menübefehle, die bereits einem Speicherort in einem bestimmten Menü zugeordnet sind.

Hinweis

Wenn Sie versuchen, einen Menübefehl mit einem bereits vorhandenen CommandID hinzuzufügen, wird ein InvalidOperationExceptionausgelöst. Stellen Sie beim Hinzufügen eines Menübefehls sicher, dass er sich nicht bereits in einem Menü befindet, indem Sie die -Methode verwenden, oder verwenden Sie die FindCommand Ausnahmebehandlung mit Bedacht.

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

  1. Wenn der Menübefehl zum Verknüpfen mit einem Ereignishandler einem Menü hinzugefügt wurde oder sich mit der FindCommand -Methode befindet, überlegen Sie, ob Sie diesen Menübefehl später wiederherstellen möchten und ob Sie den aktuellen Ereignishandler aus Ihrem neuen Ereignishandler aufrufen möchten. Wenn Ihr Code den Menübefehl wiederherstellen oder den Aufruf von Ereignishandlern verketten könnte, müssen Sie einen Verweis auf den Menübefehl irgendwo speichern.

  2. Stellen Sie sicher, dass alle zuvor vorhandenen Menübefehle mit demselben CommandID mithilfe der -Methode aus dem RemoveCommand Menü entfernt wurden.

  3. Erstellen Sie einen neuen MenuCommand , und geben Sie Ihren Ereignishandler im Konstruktor an, zusammen mit einem CommandID , der den hinzuzufügenden Befehl darstellt. Jedem Standardmenübefehl ist ein vordefinierter Menüspeicherort zugeordnet, an dem er hinzugefügt wird. Die unterstützten Befehls-IDs werden in den StandardCommands Enumerationen und MenuCommands definiert.

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

  5. Wenn Sie an der Wiederherstellung des Ereignishandlers eines bereits vorhandenen Menübefehls interessiert sind, den Sie ersetzt haben, fügen Sie den gespeicherten, bereits vorhandenen Menübefehl hinzu, nachdem Sie den von Ihnen erstellten Befehl zum Ersetzungsmenü entfernt haben. Sie können dieses Verhalten der Dispose -Methode für Ihren Typ hinzufügen.

Gilt für:

Weitere Informationen