Condividi tramite


Classe CommandSet

Rappresenta un subset dei comandi disponibili nei menu di un linguaggio specifico di dominio. Eseguire l'override di metodi in YourLanguageCommandSet per modificare la modalità di elaborazione di questi comandi.

Questa API non è conforme a CLS. 

Gerarchia di ereditarietà

System.Object
  System.MarshalByRefObject
    Microsoft.VisualStudio.Modeling.Shell.CommandSetLibrary
      Microsoft.VisualStudio.Modeling.Shell.CommandSet

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
<CLSCompliantAttribute(False)> _
Public MustInherit Class CommandSet _
    Inherits CommandSetLibrary
[CLSCompliantAttribute(false)]
public abstract class CommandSet : CommandSetLibrary

Il tipo CommandSet espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo protetto CommandSet Inizializza una nuova istanza della classe CommandSet.

In alto

Proprietà

  Nome Descrizione
Proprietà protetta. CurrentDocData (Ereditato da CommandSetLibrary)
Proprietà protetta. CurrentDocumentSelection (Ereditato da CommandSetLibrary)
Proprietà protetta. CurrentDocView Ottiene la visualizzazione per la finestra di documento attiva.
Proprietà protetta. CurrentModelingDocView (Ereditato da CommandSetLibrary)
Proprietà protetta. CurrentSelection (Ereditato da CommandSetLibrary)
Proprietà protetta. MenuService (Ereditato da CommandSetLibrary)
Proprietà protetta. MonitorSelection (Ereditato da CommandSetLibrary)
Proprietà protetta. ServiceProvider (Ereditato da CommandSetLibrary)
Proprietà protetta. SingleDocumentSelection (Ereditato da CommandSetLibrary)
Proprietà protetta. SingleSelection (Ereditato da CommandSetLibrary)

In alto

Metodi

  Nome Descrizione
Metodo protetto CanDeleteSelectedItems Restituisce true se gli elementi selezionati possono essere eliminati. (Ereditato da CommandSetLibrary)
Metodo pubblico CreateObjRef Critico per la sicurezza. Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto. (Ereditato da MarshalByRefObject)
Metodo protetto DeleteSelectedItems Elimina elementi selezionati (Ereditato da CommandSetLibrary)
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico GetHashCode Funge da funzione hash predefinita. (Ereditato da Object)
Metodo pubblico GetLifetimeService Critico per la sicurezza. Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza. (Ereditato da MarshalByRefObject)
Metodo protetto GetMenuCommands Visualizza i comandi sul menu di scelta rapida. (Esegue l'override di CommandSetLibrary.GetMenuCommands()).
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico Initialize Inizializzare il set di comandi.Chiama GetMenuCommands e memorizza il risultato nella cache. (Ereditato da CommandSetLibrary)
Metodo pubblico InitializeLifetimeService Critico per la sicurezza. Consente di ottenere un oggetto servizio di durata per il controllo dei criteri di durata per l'istanza. (Ereditato da MarshalByRefObject)
Metodo protetto IsAnyDocumentSelectionCompartment True se uno degli elementi nell'elenco di selezione è un raggruppamento. (Ereditato da CommandSetLibrary)
Metodo protetto IsAnyDocumentSelectionMoveableHostShape True se uno degli elementi nell'elenco di selezione è una forma host spostabile, che non può essere eliminata. (Ereditato da CommandSetLibrary)
Metodo protetto IsAnyDocumentSelectionUndeletable True se uno degli elementi forma nell'elenco di selezione non può essere eliminato. (Ereditato da CommandSetLibrary)
Metodo protetto IsCurrentDiagramEmpty True se il diagramma non dispone di figli. (Ereditato da CommandSetLibrary)
Metodo protetto IsDiagramSelected True se il diagramma è selezionato. (Ereditato da CommandSetLibrary)
Metodo protetto IsExpandableShape Verifica se un utente può espandere la forma per visualizzare le proprietà del dominio.
Metodo protetto IsSingleDocumentSelection True se è presente un solo elemento selezionato nel documento attivo. (Ereditato da CommandSetLibrary)
Metodo protetto IsSingleSelection True se è presente un solo elemento selezionato nella finestra del documento attivo o nella finestra degli strumenti. (Ereditato da CommandSetLibrary)
Metodo protetto MemberwiseClone() Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protetto MemberwiseClone(Boolean) Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente. (Ereditato da MarshalByRefObject)
Metodo protetto ProcessOnMenuDeleteCommand Chiamato quando l'utente fa clic sul comando Elimina o preme il tasto CANC.Elimina un elemento.Eseguire l'override di questo metodo per modificare il comportamento.
Metodo protetto ProcessOnMenuEditCompartmentItemCommand Chiamato quando l'utente fa clic sul comando del menu Modifica su un elemento in una forma di raggruppamento.Imposta lo stato di modifica del testo.Eseguire l'override di questo metodo per modificare il comportamento.
Metodo protetto ProcessOnMenuExpandCollapseCommand Chiamato quando l'utente espande o comprime un elenco di proprietà assegnato a una forma.
Metodo protetto ProcessOnMenuPageSetupCommand Apre la finestra di dialogo Imposta pagina.Eseguire l'override di questo metodo per modificare il comportamento.
Metodo protetto ProcessOnMenuPrintCommand Apre la finestra di dialogo Stampa.Eseguire l'override di questo metodo per modificare il comportamento.
Metodo protetto ProcessOnMenuPrintPreviewCommand Apre la finestra di anteprima di stampa.Eseguire l'override di questo metodo per modificare il comportamento.
Metodo protetto ProcessOnMenuRerouteLineCommand Ripristina il percorso predefinito di un connettore tra due forme.Eseguire l'override di questo metodo per modificare il comportamento.
Metodo protetto ProcessOnMenuResetDecoratorLocationCommand Eseguire l'override di questo metodo per elaborare il comando di menu di reimpostazione della posizione dell'elemento Decorator.
Metodo protetto ProcessOnMenuResetDecoratorSizeCommand Eseguire l'override di questo metodo per elaborare il comando di menu di reimpostazione della dimensione dell'elemento Decorator.
Metodo protetto ProcessOnMenuSelectAllCommand Chiamato quando l'utente fa clic sul comando Seleziona tutto del menu Modifica o preme Ctrl-A.Seleziona tutte le forme in un diagramma.Eseguire l'override del metodo per modificare il comportamento.
Metodo protetto ProcessOnStatusDeleteCommand Determina se il comando di eliminazione compare nel menu di scelta rapida.Chiamato quando l'utente fa clic con il pulsante destro del mouse nel diagramma.
Metodo protetto ProcessOnStatusEditCompartmentItemCommand Determina se il comando di modifica compare nel menu di scelta rapida.
Metodo protetto ProcessOnStatusExpandCollapseCommand Determina se il comando di espansione o compressione compare nel menu di scelta rapida.Chiamato quando l'utente fa clic con il pulsante destro del mouse nel diagramma.
Metodo protetto ProcessOnStatusPageSetupCommand Determina se il comando Imposta pagina compare nel menu File.Chiamato quando l'utente fa clic sul menu File mentre il diagramma è attivo.
Metodo protetto ProcessOnStatusPrintCommand Determina se il comando Stampa compare nel menu File.Chiamato quando l'utente fa clic sul menu File mentre il diagramma è attivo.
Metodo protetto ProcessOnStatusPrintPreviewCommand Determina se il comando Anteprima di stampa compare nel menu File.Chiamato quando l'utente fa clic sul menu File mentre il diagramma è attivo.
Metodo protetto ProcessOnStatusRerouteLineCommand Determina se il comando di reindirizzamento compare nel menu di scelta rapida.Chiamato quando l'utente fa clic con il pulsante destro del mouse nel diagramma.
Metodo protetto ProcessOnStatusResetDecoratorLocationCommand Determina se il comando di reimpostazione della posizione dell'elemento Decorator compare nel menu di scelta rapida.Chiamato quando l'utente fa clic con il pulsante destro del mouse nel diagramma.
Metodo protetto ProcessOnStatusResetDecoratorSizeCommand Determina se il comando di reimpostazione della dimensione dell'elemento Decorator compare nel menu di scelta rapida.Chiamato quando l'utente fa clic con il pulsante destro del mouse nel diagramma.
Metodo protetto ProcessOnStatusSelectAllCommand Determina se il comando Seleziona tutto compare nel menu.Chiamato quando l'utente fa clic sul menu Modifica mentre il diagramma è attivo.
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Note

È possibile modificare la modalità del modello DSL risponda ad alcuni comandi di menu. I controlli che è possibile modificare includono i comandi del menu di scelta rapida e alcuni controlli sul file e nei menu Modifica.

Nel progetto DslPackage, presente un file denominato generato CommandSet.cs, che contiene una dichiarazione parziale di classe denominata <YourLanguageName>CommandSet. Per modificare il comportamento dei comandi di menu standard, aggiungere un altro file con una definizione parziale della stessa classe.

In questa classe, è possibile eseguire l'override dei metodi definiti nella classe base.

Nota

Verificare che lo spazio dei nomi nel nuovo file sia lo stesso spazio dei nomi in CommandSet.cs generato.Nel nuovo file, quando si digita "override" all'interno della dichiarazione di classe, verrà visualizzato un elenco di metodi che è possibile eseguire l'override.

Ciascun comando è disponibile un metodo di ProcessOnStatus... e un metodo di ProcessOnMenu.... Il metodo di ProcessOnStatus... determina se il comando viene visualizzato nel menu di scelta rapida. Impostare la proprietà visible del parametro di comando per determinare se il comando è visibile e impostare la proprietà enabled per determinare se la voce di menu è abilitata o inattiva off.

Il metodo di ProcessOnMenu... esegue il comando quando l'utente fa clic sulla voce di menu.

Nota

È possibile definire i comandi aggiuntivi nel file di Commands.vsct.

Per ulteriori informazioni, vedere Procedura: aggiungere un comando al menu di scelta rapida.

Esempi

Questo file viene aggiunto al progetto DslPackage. Impedisce agli utenti di DSL di eliminare più di un elemento per volta.

// In the DslPackage project.
namespace Company.Language1 // Check this is correct after creating the file.
{
  internal partial class Language1CommandSet // Same class as the generated class.
  {
    /// <summary>
    /// Called when user right-clicks on the diagram or clicks the Edit menu.
    /// </summary>
    /// <param name="command"></param>
    protected override void ProcessOnStatusDeleteCommand(System.ComponentModel.Design.MenuCommand command)
    {
      if (this.CurrentSelection.Count > 1)
      {
        // If user has selected more than one item, Delete is greyed out.
        command.Enabled = false;
      }
      else
      {
        // Otherwise, default behavior.
        base.ProcessOnStatusDeleteCommand(command);
      }
    }
    /// <summary>
    /// Called when user presses Delete key or clicks the Delete command on a menu.
    /// </summary>
    protected override void ProcessOnMenuDeleteCommand()
    {
      // Allow users to delete only one thing at a time.
      if (this.CurrentSelection.Count <= 1)
      {
        base.ProcessOnMenuDeleteCommand();
      }
    }
  }
}

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Modeling.Shell

Altre risorse

Procedura: aggiungere un comando al menu di scelta rapida