Metodo CommandSet.GetMenuCommands
Visualizzare i comandi del menu di scelta rapida.
Spazio dei nomi: Microsoft.VisualStudio.Modeling.Shell
Assembly: Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.Shell.11.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 eseguire l'override di questo metodo e aggiungere per contenere i controlli.Per aggiungere per contenere i controlli, definirli in un file di personalizzato .vsct e per chiamarli in un file (con estensione.
[!NOTA]
Non aggiungere le modifiche al file di CommandSet.cs.Questo file viene rigenerato ogni volta che si compila la finestra di progettazione generata un'eccezione.
Esempi
In questo esempio viene aggiunto un comando personalizzato al menu di scelta rapida.Quando un utente si compila una soluzione nella finestra di progettazione generata e fare clic con il pulsante destro del mouse sul diagramma, un comando aggiuntivo, convalidare, viene visualizzato nel menu di scelta rapida.
Nel file di Commands.vsct, la riga seguente viene visualizzato dopo include istruzioni.
#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";
All'interno della cartella di VsctComponents, il seguente file vb è disponibile.Lo spazio dei nomi e alcuni di essi contengono il nome del progetto, MenuSample, in essi.
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.