Compartir a través de


CommandSet.GetMenuCommands (Método)

Muestra los comandos del menú contextual.

Espacio de nombres:  Microsoft.VisualStudio.Modeling.Shell
Ensamblado:  Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (en Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll)

Sintaxis

'Declaración
Protected Overrides Function GetMenuCommands As IList(Of MenuCommand)
protected override IList<MenuCommand> GetMenuCommands()

Valor devuelto

Tipo: System.Collections.Generic.IList<MenuCommand>
Lista de comandos de menú.

Comentarios

Puede invalidar este método y agregarlo para sus propios comandos. Para agregar para sus propios comandos, defínalos en un archivo de personalizadas .vsct y llámelos en un archivo de custom .cs.

NotaNota

No agregue los cambios en el archivo de CommandSet.cs.Este archivo se vuelve a crear cada vez que compile el diseñador generado.

Ejemplos

Este ejemplo agrega un comando personalizado al menú contextual. Cuando un usuario compila una solución en el diseñador y los clic con el botón secundario en el diagrama, un comando adicional, validar, aparece en el menú contextual.

En el archivo de Commands.vsct, la línea siguiente aparece después de las instrucciones de include .

#define AssociationSortValidate 0x801

En el archivo de Commands.vsct, la línea siguiente aparece después de GENERATED_BUTTONS.

guidCmdSet:AssociationSortValidate, guidCmdSet:grpidContextMain, 0x0100, OI_NOID, BUTTON, DIS_DEF, "&Validate";

Dentro de la carpeta de VsctComponents, el siguiente archivo .cs está disponible. El espacio de nombres y algunos de los métodos tienen el nombre del proyecto, MenuSample, en ellos.

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);
        }
    }
}

Seguridad de .NET Framework

Vea también

Referencia

CommandSet Clase

Microsoft.VisualStudio.Modeling.Shell (Espacio de nombres)