Metoda CommandSet.GetMenuCommands —
Wyświetla polecenia w menu skrótów.
Przestrzeń nazw: Microsoft.VisualStudio.Modeling.Shell
Zestaw: Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (w Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0.dll)
Składnia
'Deklaracja
Protected Overrides Function GetMenuCommands As IList(Of MenuCommand)
protected override IList<MenuCommand> GetMenuCommands()
Wartość zwracana
Typ: System.Collections.Generic.IList<MenuCommand>
Lista poleceń menu.
Uwagi
Można zastąpić tę metodę i dodać własne polecenia.Aby dodać swoje własne polecenia, je zdefiniować w pliku .vsct niestandardowych i wywoływać je w pliku cs niestandardowe.
[!UWAGA]
Nie można dodać wprowadzone zmiany do pliku CommandSet.cs.Ten plik jest ponownie generowany każdym zbudować generowanych projektanta.
Przykłady
W tym przykładzie dodaje niestandardowe polecenie do menu skrótów.Gdy użytkownik tworzy roztwór w projektancie generowanych i kliknie prawym przyciskiem myszy diagram jednego dodatkowe polecenia, sprawdzania poprawności, pojawia się w menu skrótów.
W pliku Commands.vsct, pojawia się następujący wiersz, po include instrukcji.
#define AssociationSortValidate 0x801
Następujący wiersz w pliku Commands.vsct pojawi się po GENERATED_BUTTONS.
guidCmdSet:AssociationSortValidate, guidCmdSet:grpidContextMain, 0x0100, OI_NOID, BUTTON, DIS_DEF, "&Validate";
W folderze VsctComponents następującego pliku cs jest dostępny.Obszar nazw i niektórych metod mają nazwę projektu, MenuSample, w nich.
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel.Design;
using Microsoft.VisualStudio.Modeling;
using Microsoft.VisualStudio.Modeling.Shell;
namespace MS.MenuSample
{
internal partial class MenuSampleCommandSet
{
// Define the command. This must be unique and match the value in Commands.vsct.
private const int AssociationSortValidate = 0x801;
// Register event handlers for menu commands when the Domain-Specific Language Designer starts.
// Get the commands defined in the generated code.
protected override IList<System.ComponentModel.Design.MenuCommand> GetMenuCommands()
{
global::System.Collections.Generic.IList<global::System.ComponentModel.Design.MenuCommand> commands = base.GetMenuCommands();
commands.Add(new DynamicStatusMenuCommand(
new EventHandler(OnStatusChangeAssociationSort),
new EventHandler(OnMenuChangeAssociationSort),
CustomCommandId(AssociationSortValidate)));
return commands;
}
// Set whether a command should appear in the shortcut menu by default.
internal void OnStatusChangeAssociationSort(object sender, EventArgs e)
{
MenuCommand command = sender as MenuCommand;
command.Visible = command.Enabled = true;
}
// Perform an Association Sort command on the current selection.
internal void OnMenuChangeAssociationSort(object sender, EventArgs e)
{
MenuCommand command = sender as MenuCommand;
}
// Create local command IDs that are unique.
private CommandID CustomCommandId(int command)
{
return new CommandID(new Guid(Constants.MenuSampleCommandSetId), command);
}
}
}
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Przy użyciu bibliotek z częściowo zaufanego kodu..