Freigeben über


CommandSet-Klasse

Stellt eine Teilmenge der Befehle dar, die in den Menüs einer domänenspezifischen Sprache verfügbar sind.Überschreiben Sie die Methoden in TheLanguageCommandSet, um zu ändern, wie diese Befehle verarbeitet werden.

Diese API ist nicht CLS-kompatibel. 

Vererbungshierarchie

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

Namespace:  Microsoft.VisualStudio.Modeling.Shell
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0.dll)

Syntax

'Declaration
<CLSCompliantAttribute(False)> _
Public MustInherit Class CommandSet _
    Inherits CommandSetLibrary
[CLSCompliantAttribute(false)]
public abstract class CommandSet : CommandSetLibrary

Der CommandSet-Typ macht die folgenden Member verfügbar.

Konstruktoren

  Name Beschreibung
Geschützte Methode CommandSet Initialisiert eine neue Instanz der CommandSet-Klasse.

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Geschützte Eigenschaft CurrentDocData (Von CommandSetLibrary geerbt.)
Geschützte Eigenschaft CurrentDocumentSelection (Von CommandSetLibrary geerbt.)
Geschützte Eigenschaft CurrentDocView Ruft die Ansicht für das aktive Dokumentfenster ab.
Geschützte Eigenschaft CurrentModelingDocView (Von CommandSetLibrary geerbt.)
Geschützte Eigenschaft CurrentSelection (Von CommandSetLibrary geerbt.)
Geschützte Eigenschaft MenuService (Von CommandSetLibrary geerbt.)
Geschützte Eigenschaft MonitorSelection (Von CommandSetLibrary geerbt.)
Geschützte Eigenschaft ServiceProvider (Von CommandSetLibrary geerbt.)
Geschützte Eigenschaft SingleDocumentSelection (Von CommandSetLibrary geerbt.)
Geschützte Eigenschaft SingleSelection (Von CommandSetLibrary geerbt.)

Zum Seitenanfang

Methoden

  Name Beschreibung
Geschützte Methode CanDeleteSelectedItems Gibt true zurück, wenn die ausgewählten Elemente gelöscht werden können. (Von CommandSetLibrary geerbt.)
Öffentliche Methode CreateObjRef Sicherheitsrelevant. Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. (Von MarshalByRefObject geerbt.)
Geschützte Methode DeleteSelectedItems Löschen Sie die ausgewählten Elemente. (Von CommandSetLibrary geerbt.)
Öffentliche Methode Equals Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Geschützte Methode Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Von Object geerbt.)
Öffentliche Methode GetHashCode Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche Methode GetLifetimeService Sicherheitsrelevant. Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Von MarshalByRefObject geerbt.)
Geschützte Methode GetMenuCommands Zeigt die Befehle im Kontextmenü an. (Überschreibt CommandSetLibrary.GetMenuCommands().)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche Methode Initialize Initialisieren Sie den Befehl festgelegt.Aufrufe GetMenuCommands und Cache das Ergebnis. (Von CommandSetLibrary geerbt.)
Öffentliche Methode InitializeLifetimeService Sicherheitsrelevant. Ruft ein Lebensdauerdienstobjekt ab, mit dem die Lebensdauerrichtlinien für diese Instanz gesteuert werden können. (Von MarshalByRefObject geerbt.)
Geschützte Methode IsAnyDocumentSelectionCompartment True, wenn der Elemente in der Auswahlliste besteht aus einem Depot. (Von CommandSetLibrary geerbt.)
Geschützte Methode IsAnyDocumentSelectionMoveableHostShape True, wenn der Elemente in der Auswahlliste ist eine verschiebbare Host Form, die nicht gelöscht werden kann. (Von CommandSetLibrary geerbt.)
Geschützte Methode IsAnyDocumentSelectionUndeletable True, wenn der Formelemente in der Auswahlliste kann nicht gelöscht werden. (Von CommandSetLibrary geerbt.)
Geschützte Methode IsCurrentDiagramEmpty True, wenn das Diagramm keine untergeordneten Elemente verfügt. (Von CommandSetLibrary geerbt.)
Geschützte Methode IsDiagramSelected True, wenn das Diagramm ausgewählt ist. (Von CommandSetLibrary geerbt.)
Geschützte Methode IsExpandableShape Überprüft, ob ein Benutzer die Form erweitern kann, um Domäneneigenschaften anzuzeigen.
Geschützte Methode IsSingleDocumentSelection True, wenn nur ein ausgewähltes Element im aktiven Dokument vorhanden ist. (Von CommandSetLibrary geerbt.)
Geschützte Methode IsSingleSelection True, wenn nur ein ausgewähltes Element im aktiven Fenster des Dokumentfensters oder des Tools vorhanden ist. (Von CommandSetLibrary geerbt.)
Geschützte Methode MemberwiseClone() Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte Methode MemberwiseClone(Boolean) Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Von MarshalByRefObject geerbt.)
Geschützte Methode ProcessOnMenuDeleteCommand Wird aufgerufen, wenn der Benutzer auf den Befehl Löschen geklickt oder die ENTF-TASTE drückt.Löscht ein Element.Überschreiben Sie diese Methode, um dieses Verhalten zu ändern.
Geschützte Methode ProcessOnMenuEditCompartmentItemCommand Wird aufgerufen, wenn der Benutzer auf das Menü Bearbeiten auf ein Element in einem Depot Form klickt.Gibt den Zustand Textbearbeitungs ein.Überschreiben Sie diese Methode, um dieses Verhalten zu ändern.
Geschützte Methode ProcessOnMenuExpandCollapseCommand Wird aufgerufen, wenn der Benutzer eine Liste mit Eigenschaften erweitert oder reduziert, die auf einem Formular zugewiesen wird.
Geschützte Methode ProcessOnMenuPageSetupCommand Öffnet das Dialogfeld Seiteneinrichtungs.Überschreiben Sie diese Methode, um dieses Verhalten zu ändern.
Geschützte Methode ProcessOnMenuPrintCommand Öffnet das Dialogfeld Drucken.Überschreiben Sie diese Methode, um dieses Verhalten zu ändern.
Geschützte Methode ProcessOnMenuPrintPreviewCommand Öffnet das Fenster " Seitenansicht ".Überschreiben Sie diese Methode, um dieses Verhalten zu ändern.
Geschützte Methode ProcessOnMenuRerouteLineCommand Stellt die Standardposition eines Konnektors zwischen zwei Formen wieder her.Überschreiben Sie diese Methode, um dieses Verhalten zu ändern.
Geschützte Methode ProcessOnMenuResetDecoratorLocationCommand Überschreiben Sie diese Methode, um den Rücksetzungs-Decorator-Element-Speicherort Menü zu verarbeiten.
Geschützte Methode ProcessOnMenuResetDecoratorSizeCommand Überschreiben Sie diese Methode, um den Rücksetzungs-Decorator-Element-Größen Menü zu verarbeiten.
Geschützte Methode ProcessOnMenuSelectAllCommand Wird aufgerufen, wenn der Benutzer auf das ausgewählte aller Befehl im Menü Bearbeiten klickt oder legt Strg+A.Wählt alle Formen in einem Diagramm aus.Überschreiben Sie die Möglichkeit, dieses Verhalten zu ändern.
Geschützte Methode ProcessOnStatusDeleteCommand Bestimmt, ob der Befehl Löschen im Kontextmenü wird angezeigt.Wird aufgerufen, wenn der Benutzer über dem Diagramm mit der rechten Maustaste klickt.
Geschützte Methode ProcessOnStatusEditCompartmentItemCommand Bestimmt, ob der Befehl Bearbeiten im Kontextmenü wird angezeigt.
Geschützte Methode ProcessOnStatusExpandCollapseCommand Bestimmt, ob der erweiterns- oder Reduzieren Sie im Kontextmenü den Befehl angezeigt wird.Wird aufgerufen, wenn der Benutzer über dem Diagramm mit der rechten Maustaste klickt.
Geschützte Methode ProcessOnStatusPageSetupCommand Bestimmt, ob der Befehl im Menü Datei Seiteneinrichtungs wird angezeigt.Wird aufgerufen, wenn der Benutzer auf das Menü Datei drückt, während das Diagramm aktiv ist.
Geschützte Methode ProcessOnStatusPrintCommand Bestimmt, ob der Befehl Drucken im Menü Datei angezeigt.Wird aufgerufen, wenn der Benutzer auf das Menü Datei drückt, während das Diagramm aktiv ist.
Geschützte Methode ProcessOnStatusPrintPreviewCommand Bestimmt, ob der Befehl die Seitenansicht im Menü dargestellt wird.Wird aufgerufen, wenn der Benutzer auf das Menü Datei drückt, während das Diagramm aktiv ist.
Geschützte Methode ProcessOnStatusRerouteLineCommand Bestimmt, ob der Befehl Umlenkungs im Kontextmenü wird angezeigt.Wird aufgerufen, wenn der Benutzer über dem Diagramm mit der rechten Maustaste klickt.
Geschützte Methode ProcessOnStatusResetDecoratorLocationCommand Bestimmt, ob der Befehl Rest-Decorator-Element-Speicherort im Kontextmenü wird angezeigt.Wird aufgerufen, wenn der Benutzer über dem Diagramm mit der rechten Maustaste klickt.
Geschützte Methode ProcessOnStatusResetDecoratorSizeCommand Bestimmt, ob der Befehl Rücksetzungs-Decorator-Element-Größen im Menü dargestellt wird.Wird aufgerufen, wenn der Benutzer über dem Diagramm mit der rechten Maustaste klickt.
Geschützte Methode ProcessOnStatusSelectAllCommand Bestimmt, ob das ausgewählte aller Befehl im Menü dargestellt wird.Wird aufgerufen, wenn der Benutzer auf das Menü Bearbeiten klicken, während das Diagramm aktiv ist.
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)

Zum Seitenanfang

Hinweise

Sie können ändern, wie das DSL auf eine Menübefehle reagiert.Die Befehle können Sie im Kontextmenü die Befehle zählen auch einige Befehle in den Menüs Bearbeiten von Datei- und ändern.

Suchen Sie im DslPackage-Projekt enthält eine generierte Datei mit dem Namen CommandSet.cs und eine partielle Deklaration einer Klasse, die <TheLanguageName>CommandSet aufgerufen wird.Um das Verhalten der Standardwert des zu ändern, fügen Sie eine andere Datei mit einer partiellen Definition der gleichen Klasse hinzu.

In dieser Klasse können Sie die Methoden überschreiben, die in der Basisklasse definiert sind.

HinweisHinweis

Stellen Sie sicher, dass der Namespace in der neuen Datei mit dem Namespace im generierten CommandSet.cs ist.In der neuen Datei „override“ innerhalb der Klassendeklaration eingegeben haben, sollten Sie eine Liste der Methoden finden, die Sie überschreiben können.

Jeder Befehl verfügt über ein ProcessOnStatus…Methode und ein ProcessOnMenu…-Methode.Das ProcessOnStatus…Methode bestimmt, ob der Befehl für das Kontextmenü angezeigt wird.Legen Sie die sichtbare Eigenschaft des Befehls Parameters, um zu bestimmen, ob der Befehl, und die Enabled-Eigenschaft festzulegen, um zu bestimmen, ob das Menüelement sichtbar ist aktiviert und abgeblendet dargestellt wird.

Das ProcessOnMenu…Methode führt den Befehl aus, wenn der Benutzer auf das Menüelement klickt.

HinweisHinweis

Sie können zusätzliche Befehle in der Commands.vsct-Datei definieren.

Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen eines Befehls zum Kontextmenü.

Beispiele

Diese Datei wird dem DslPackage-Projekt hinzugefügt.Sie wird verhindert, dass Benutzer des DSL an mehrere Elemente gleichzeitig löschen.

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

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Siehe auch

Referenz

Microsoft.VisualStudio.Modeling.Shell-Namespace

Weitere Ressourcen

Gewusst wie: Hinzufügen eines Befehls zum Kontextmenü