IMenuCommandService.AddCommand(MenuCommand) Metod

Definition

Lägger till det angivna standardmenykommandot i menyn.

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)

Parametrar

command
MenuCommand

Att MenuCommand lägga till.

Undantag

Den CommandID angivna MenuCommand finns redan på en meny.

Kommentarer

Uppräkningarna MenuCommands och StandardCommands innehåller CommandID identifierare för fördefinierade standardkommandon och menykommandon som redan är associerade med en plats på en viss meny.

Note

Ett försök att lägga till ett menykommando med en redan befintlig CommandID genererar en InvalidOperationException. När du lägger till ett menykommando kontrollerar du att det inte redan finns på en meny med hjälp av FindCommand metoden eller använder undantagshantering på ett klokt sätt.

Du kan koppla en händelsehanterare till ett fördefinierat menykommando med följande procedur:

  1. Om menykommandot för att länka till en händelsehanterare har lagts till i en meny eller finns med FindCommand metoden bör du överväga om du vill återställa menykommandot senare och om du vill anropa den aktuella händelsehanteraren från den nya händelsehanteraren. Om koden kan återställa menykommandot eller länka anropet av händelsehanterare bör du lagra en referens till menykommandot någonstans.

  2. Kontrollera att alla tidigare befintliga menykommandon med samma CommandID kommando har tagits bort från menyn med hjälp av RemoveCommand metoden .

  3. Skapa en ny MenuCommand och ange händelsehanteraren i konstruktorn, tillsammans med ett CommandID som representerar kommandot som ska läggas till. Varje standardmenykommando är associerat med en fördefinierad menyplats där den läggs till. De kommando-ID:er som stöds definieras i StandardCommands uppräkningar och MenuCommands .

  4. Om du vill anropa någon befintlig händelsehanterare för menykommandot anropar Invoke du metoden för menykommandot som du har ersatt på menyn från händelsehanteraren som hanterar anropande händelsen för menykommandot.

  5. Om du är intresserad av att återställa händelsehanteraren för ett befintligt menykommando som du har ersatt lägger du till det lagrade, befintliga menykommandot när du har tagit bort kommandot för ersättningsmenyn som du skapade. Du kanske vill lägga till det här beteendet i Dispose metoden för din typ.

Gäller för

Se även