Metodo CommandSet.GetMenuCommands
Visualizza i comandi sul menu di scelta rapida.
Spazio dei nomi: Microsoft.VisualStudio.Modeling.Shell
Assembly: Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll)
Sintassi
'Dichiarazione
Protected Overrides Function GetMenuCommands As IList(Of MenuCommand)
protected override IList<MenuCommand> GetMenuCommands()
Valore restituito
Tipo: System.Collections.Generic.IList<MenuCommand>
L'elenco dei comandi di menu.
Note
È possibile sostituire questo metodo e aggiungere i controlli personalizzati. Per aggiungere controlli personalizzati, definirli in un file personalizzato di .vsct e chiamarli in un file personalizzato di estensione.
Nota
Non aggiungere le modifiche apportate al file di CommandSet.cs.Questo file viene rigenerato ogni volta che si compila la finestra di progettazione generata.
Esempi
In questo esempio viene aggiunto un comando personalizzato al menu di scelta rapida. Quando un utente compila una soluzione nella finestra di progettazione generata e fare clic con il pulsante destro del mouse sul diagramma, un comando aggiuntivo, Convalida, viene visualizzato nel menu di scelta rapida.
Nel file di Commands.vsct, la riga seguente viene visualizzato dopo le istruzioni di include.
#define AssociationSortValidate 0x801
Nel file di Commands.vsct, la riga seguente viene visualizzato dopo GENERATED_BUTTONS.
guidCmdSet:AssociationSortValidate, guidCmdSet:grpidContextMain, 0x0100, OI_NOID, BUTTON, DIS_DEF, "&Validate";
Nella cartella di VsctComponents, il seguente file .cs è disponibile. Lo spazio dei nomi e alcuni di essi contengono il nome del progetto, MenuSample, in esse.
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);
}
}
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.