Freigeben über


CommandSet-Klasse

Stellt eine Teilmenge der Befehle dar, die in den Menüs einer domänenspezifischen Sprache verfügbar sind. Überschreiben von Methoden in YourLanguageCommandSet, 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.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.Shell.12.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öscht 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 die Standardhashfunktion. (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 Befehlssatz.Ruft GetMenuCommands auf und speichert 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 ein beliebiges Element in der Auswahlliste ein Depot ist. (Von CommandSetLibrary geerbt.)
Geschützte Methode IsAnyDocumentSelectionMoveableHostShape "True", wenn ein beliebiges Elemente in der Auswahlliste eine verschiebbare Hostform ist, die nicht gelöscht werden kann. (Von CommandSetLibrary geerbt.)
Geschützte Methode IsAnyDocumentSelectionUndeletable "True", wenn ein beliebiges Formelement in der Auswahlliste nicht gelöscht werden können. (Von CommandSetLibrary geerbt.)
Geschützte Methode IsCurrentDiagramEmpty "True", wenn das Diagramm keine untergeordneten Elemente hat. (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 es nur ein ausgewähltes Element im aktiven Dokumentfenster oder Toolfenster gibt. (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 klickt oder die ENTF-TASTE drückt.Löscht ein Element.Überschreiben dieser Methode, um dieses Verhalten zu ändern.
Geschützte Methode ProcessOnMenuEditCompartmentItemCommand Wird aufgerufen, wenn der Benutzer auf das Menü Bearbeiten auf einem Element in einer Depotform klickt.Gibt den Textbearbeitungszustand ein.Überschreiben dieser Methode, um dieses Verhalten zu ändern.
Geschützte Methode ProcessOnMenuExpandCollapseCommand Wird aufgerufen, wenn der Benutzer eine Liste mit Eigenschaften erweitert oder reduziert, die einer Form zugewiesen ist.
Geschützte Methode ProcessOnMenuPageSetupCommand Öffnet das Dialogfeld "Seite einrichten".Überschreiben dieser Methode, um dieses Verhalten zu ändern.
Geschützte Methode ProcessOnMenuPrintCommand Öffnet das Dialogfeld "Drucken".Überschreiben dieser Methode, um dieses Verhalten zu ändern.
Geschützte Methode ProcessOnMenuPrintPreviewCommand Das Fenster "Druckansicht"Überschreiben dieser Methode, um dieses Verhalten zu ändern.
Geschützte Methode ProcessOnMenuRerouteLineCommand Stellt die Standardposition eines Konnektors zwischen zwei Formen wieder her.Überschreiben dieser Methode, um dieses Verhalten zu ändern.
Geschützte Methode ProcessOnMenuResetDecoratorLocationCommand Überschreiben Sie diese Methode, um den Menübefehl "Decorator-Speicherort zurücksetzen" zu verarbeiten.
Geschützte Methode ProcessOnMenuResetDecoratorSizeCommand Diese Methode überschreiben, um den Menübefehl "Decorator-Größe zurücksetzen" zu verarbeiten.
Geschützte Methode ProcessOnMenuSelectAllCommand Wird aufgerufen, wenn der Benutzer auf den Befehl "Alle auswählen" im Menü Bearbeiten klickt oder Strg+A drückt.Wählt alle Formen in einem Diagramm aus.Überschreiben der Methode, um dieses Verhalten zu ändern.
Geschützte Methode ProcessOnStatusDeleteCommand Bestimmt, ob der Befehl Löschen im Kontextmenü angezeigt wird.Wird aufgerufen, wenn der Benutzer auf Diagramm mit der rechten Maustaste klickt.
Geschützte Methode ProcessOnStatusEditCompartmentItemCommand Bestimmt, ob der Befehl Bearbeiten im Kontextmenü angezeigt wird.
Geschützte Methode ProcessOnStatusExpandCollapseCommand Bestimmt, ob der Befehl Erweitern/Reduzieren im Kontextmenü den angezeigt wird.Wird aufgerufen, wenn der Benutzer auf Diagramm mit der rechten Maustaste klickt.
Geschützte Methode ProcessOnStatusPageSetupCommand Bestimmt, ob der Befehl Seite einrichten im Menü Datei angezeigt wird.Wird aufgerufen, wenn der Benutzer auf das Menü Datei klickt, während das Diagramm aktiv ist.
Geschützte Methode ProcessOnStatusPrintCommand Bestimmt, ob der Befehl Drucken im Menü Datei angezeigt wird.Wird aufgerufen, wenn der Benutzer auf das Menü Datei klickt, während das Diagramm aktiv ist.
Geschützte Methode ProcessOnStatusPrintPreviewCommand Bestimmt, ob der Befehl Druckvorschau im Menü angezeigt wird.Wird aufgerufen, wenn der Benutzer auf das Menü Datei klickt, während das Diagramm aktiv ist.
Geschützte Methode ProcessOnStatusRerouteLineCommand Bestimmt, ob der Befehl Umleiten im Kontextmenü angezeigt wird.Wird aufgerufen, wenn der Benutzer auf Diagramm mit der rechten Maustaste klickt.
Geschützte Methode ProcessOnStatusResetDecoratorLocationCommand Bestimmt, ob der Befehl Rest-Decorator-Element-Speicherort im Kontextmenü angezeigt wird.Wird aufgerufen, wenn der Benutzer auf 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 auf Diagramm mit der rechten Maustaste klickt.
Geschützte Methode ProcessOnStatusSelectAllCommand Bestimmt, ob der Befehl Alle auswählen im Menü dargestellt wird.Wird aufgerufen, wenn der Benutzer auf das Menü Bearbeiten klickt, 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 der DSL auf etwas Menübefehle reagiert. Die Befehle können Sie u die Befehle im Kontextmenü und einige Befehle auf den Datei- und Bearbeitungsmenüs ändern.

In dem DslPackage-Projekt Ausführung eine generierte Datei mit dem Namen CommandSet.cs und enthalten eine partielle Deklaration einer aufgerufenen CLASS-Attributs <YourLanguageName>CommandSet. Um das Verhalten der Standardmenübefehle zu ändern, fügen Sie einer anderen Datei mit eine partielle Definition der gleichen Klasse hinzu.

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

Hinweis

Überprüfen Sie, dass der Namespace in einer neuen Datei dem Namespace im generierten CommandSet.cs ist.In der neuen Datei wenn Sie "Überschreibung" innerhalb der Klassendeklaration eingeben, sollten Sie eine Liste der Methoden finden, die Sie überschreiben können.

Jeder Befehl besitzt eine Methode ProcessOnStatus... und eine Methode ProcessOnMenu.... Die Methode ProcessOnStatus... bestimmt, ob der Befehl im Kontextmenü angezeigt. Festlegen Sie die visible-Eigenschaft des Befehlsparameters, um zu bestimmen, ob der Befehl, und aktiviert die Eigenschaft festzulegen, um festzustellen sichtbar ist, ob das Menüelement aktiviert oder abgeblendet ist.

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

Hinweis

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 muss ein Benutzer des DSL an mehrere Elemente auf einmal 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ü