Freigeben über


ToolWindow-Klasse

Stellt bei der Überschreibung in einer abgeleiteten Klasse ein Toolfenster im generierten Designer für eine domänenspezifische Sprache dar.

Diese API ist nicht CLS-kompatibel. 

Vererbungshierarchie

System.Object
  Microsoft.VisualStudio.Shell.WindowPane
    Microsoft.VisualStudio.Modeling.Shell.ModelingWindowPane
      Microsoft.VisualStudio.Modeling.Shell.ToolWindow
        Microsoft.VisualStudio.Modeling.Shell.ModelExplorerToolWindow

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 ToolWindow _
    Inherits ModelingWindowPane
[CLSCompliantAttribute(false)]
public abstract class ToolWindow : ModelingWindowPane

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

Konstruktoren

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

Zum Seitenanfang

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft ActiveInPlaceEditWindow Ruft das aktive Fenster ab oder legt es für die direkte Bearbeitung fest. (Von ModelingWindowPane geerbt.)
Geschützte Eigenschaft BitmapIndex Ruft beim Überschreiben in einer abgeleiteten Klasse den Index der Bitmap ab, die neben dem Namen des Toolfensters angezeigt wird.
Geschützte Eigenschaft BitmapResource Ruft beim Überschreiben in einer abgeleiteten Klasse die Ressourcen-ID der Bitmap ab, die neben dem Namen des Toolfensters angezeigt wird.
Öffentliche Eigenschaft Content (Von WindowPane geerbt.)
Öffentliche Eigenschaft DocData Ruft ein Dokument im Speicher ab.
Geschützte Eigenschaft EnableUndo Ruft das Toolfenster ab und aktiviert den Befehl Rückgängig.
Öffentliche Eigenschaft Frame Ruft die IVsWindowFrame ab, die diesem Fenster entspricht. (Von ModelingWindowPane geerbt.)
Geschützte Eigenschaft HasSelectableObjects Ruft das Toolfenster ab und deaktiviert den Befehl Objekte auswählen, wenn ein Dokument nicht geladen wird. (Überschreibt ModelingWindowPane.HasSelectableObjects.)
Geschützte Eigenschaft HasToolBar Ruft das Toolfenster und überprüft, ob ihm eine Symbolleiste zugewiesen werden soll.
Geschützte Eigenschaft HelpService Ruft den Hilfedienst ab. (Von ModelingWindowPane geerbt.)
Geschützte Eigenschaft InitializationMode (Von WindowPane geerbt.)
Öffentliche Eigenschaft MenuService Ruft den Menübefehlsdienst ab. (Von ModelingWindowPane geerbt.)
Öffentliche Eigenschaft PrimarySelection Ruft das primäre ausgewählte Element im Fensterbereich ab. (Von ModelingWindowPane geerbt.)
Geschützte Eigenschaft SelectedElements Ruft die Elemente ab, die im Fensterbereich ausgewählt sind. (Von ModelingWindowPane geerbt.)
Öffentliche Eigenschaft SelectionCount Ruft die Anzahl der Elemente ab, die im Fensterbereich ausgewählt sind. (Von ModelingWindowPane geerbt.)
Geschützte Eigenschaft SelectionHelpService Ruft den Auswahlhilfedienst ab. (Von ModelingWindowPane geerbt.)
Geschützte Eigenschaft ServiceProvider Ruft den Dienstanbieter ab, der für diesen Fensterbereich lokal ist. (Von ModelingWindowPane geerbt.)
Geschützte Eigenschaft ToolBarHost Ruft die IVsToolWindowToolbarHost-Schnittstelle ab, die bestimmt, wie Symbolleisten im Toolfenster angezeigt werden.
Geschützte Eigenschaft ToolWindowFont Ruft die Schriftart ab, die für das Toolfenster verwendet werden soll.
Öffentliche Eigenschaft Window (Von WindowPane geerbt.)
Öffentliche Eigenschaft WindowTitle Ruft den Titel des Tool-Fensters ab.

Zum Seitenanfang

Methoden

  Name Beschreibung
Geschützte Methode CommitPendingEditForCommand Gibt beim Implementieren in einer abgeleiteten Klasse an, ob während ausstehende Bearbeitungen übernommen werden soll, bevor ein Befehl ausgeführt wird. (Von ModelingWindowPane geerbt.)
Geschützte Methode CountAllObjects Ruft die Anzahl der Elemente im Fensterbereich ab. (Von ModelingWindowPane geerbt.)
Öffentliche Methode CountObjects Zählt die Anzahl der Elemente im Fensterbereich oder in der aktuellen Auswahl. (Von ModelingWindowPane geerbt.)
Geschützte Methode CountSelectedObjects Ruft die Anzahl der Elemente in der aktuellen Auswahl ab. (Von ModelingWindowPane geerbt.)
Öffentliche Methode Dispose() (Von WindowPane geerbt.)
Geschützte Methode Dispose(Boolean) Gibt die von ToolWindow verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei. (Überschreibt ModelingWindowPane.Dispose(Boolean).)
Geschützte Methode DoSelectObjects Wählt beim Implementieren in einer abgeleiteten Klasse Elemente im Fensterbereich aus. (Von ModelingWindowPane 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.)
Geschützte Methode GetAllObjects Ruft alle Elemente im Fensterbereich ab. (Von ModelingWindowPane geerbt.)
Öffentliche Methode GetComponentSelected Gibt an, ob die angegebene Komponente ausgewählt wird. (Von ModelingWindowPane geerbt.)
Öffentliche Methode GetContainerSelected Gibt an, ob der angegebene Container ausgewählt wird. (Von ModelingWindowPane geerbt.)
Öffentliche Methode GetHashCode Fungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche Methode GetObjects Ruft die einzelnen Elemente, die derzeit ausgewählt sind, oder die Elemente ab, die im Fensterbereich ausgewählt werden können. (Von ModelingWindowPane geerbt.)
Öffentliche Methode GetSelectedComponents Ruft die Komponente ab, die im Fensterbereich ausgewählt werden. (Von ModelingWindowPane geerbt.)
Geschützte Methode GetSelectedObjects Ruft die Elemente ab, die im Fensterbereich ausgewählt sind. (Von ModelingWindowPane geerbt.)
Geschützte Methode GetService Ruft den Dienst des angegebenen Typs ab.Diese Methode überschreiben, um den benutzerdefinierten Menübefehlsdienst zurückzugeben (Von ModelingWindowPane geerbt.)
Öffentliche Methode GetSite Ruft die Website ab, die mit SetSite festgelegt wurde. (Von ModelingWindowPane geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche Methode Hide Blendet den Fensterbereich aus. (Von ModelingWindowPane geerbt.)
Geschützte Methode Initialize Initialisiert eine neue Instanz der ToolWindow-Klasse. (Überschreibt WindowPane.Initialize().)
Öffentliche Methode LoadUIState (Von WindowPane geerbt.)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte Methode OnAfterToolWindowCreate Post-Erstellungs-Initialisierung.
Geschützte Methode OnClose Entfernt Fensterbereichsobjekte aus der Kontextmenü-Auswahl, wenn der Fensterbereich geschlossen wird. (Von ModelingWindowPane geerbt.)
Geschützte Methode OnCreate Erstellt ein Toolfenster. (Überschreibt WindowPane.OnCreate().)
Geschützte Methode OnDocumentWindowChanged Benachrichtigt abgeleitete Klassen, wenn vom Benutzer eine Änderung am Dokumentfenster vorgenommen wird.
Geschützte Methode OnSelectionChanged Benachrichtigt Ereignis-Listener, nachdem die Auswahl geändert wurde. (Von ModelingWindowPane geerbt.)
Geschützte Methode OnSelectionChanging Benachrichtigt Ereignis-Listener, bevor die Auswahl geändert wurde. (Von ModelingWindowPane geerbt.)
Geschützte Methode OnToolWindowCreate Lauschen auf Frameänderungen in einem Dokumentfenster
Geschützte Methode PreProcessMessage Behandelt Fenstermeldungen. (Von ModelingWindowPane geerbt.)
Öffentliche Methode SaveUIState (Von WindowPane geerbt.)
Öffentliche Methode SelectObjects Wählt Elemente im Fensterbereich aus. (Von ModelingWindowPane geerbt.)
Öffentliche Methode SetSelectedComponents(ICollection) Fügt die angegebenen Komponenten in den Auswahlcontainer hinzu und benachrichtigt die Shell über die Änderung der Auswahl. (Von ModelingWindowPane geerbt.)
Öffentliche Methode SetSelectedComponents(ICollection, SelectionTypes) Derzeit nicht implementiert. (Von ModelingWindowPane geerbt.)
Öffentliche Methode SetSite Initialisiert den Fensterbereich in der Umgebung. (Von ModelingWindowPane geerbt.)
Öffentliche Methode Show Zeigt den Fensterbereich im Vordergrund an und aktiviert das Fenster. (Von ModelingWindowPane geerbt.)
Öffentliche Methode ShowNoActivate Zeigt den Fensterbereich im Vordergrund an, aktiviert das Fenster jedoch nicht. (Von ModelingWindowPane geerbt.)
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)

Zum Seitenanfang

Ereignisse

  Name Beschreibung
Öffentliches Ereignis SelectionChanged Wird ausgelöst, nachdem sich die Auswahl im Fensterbereich geändert hat. (Von ModelingWindowPane geerbt.)
Öffentliches Ereignis SelectionChanging Wird ausgelöst, bevor die Auswahl im Fensterbereich sich ändert. (Von ModelingWindowPane geerbt.)

Zum Seitenanfang

Explizite Schnittstellen implementierungen

  Name Beschreibung
Explizite SchnittstellenimplementierungPrivate Methode IVsWindowPane.ClosePane Veraltet. (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsUIElementPane.CloseUIElementPane (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsWindowPane.CreatePaneWindow Veraltet. (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsUIElementPane.CreateUIElementPane (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IOleCommandTarget.Exec (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsWindowPane.GetDefaultSize Veraltet. (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsUIElementPane.GetDefaultUIElementSize (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IServiceProvider.GetService (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsUIElementPane.LoadUIElementState (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsWindowPane.LoadViewState Veraltet. (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IOleCommandTarget.QueryStatus (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsUIElementPane.SaveUIElementState (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsWindowPane.SaveViewState Veraltet. (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsWindowPane.SetSite Veraltet. (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsUIElementPane.SetUIElementSite (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsWindowPane.TranslateAccelerator Veraltet. (Von WindowPane geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode IVsUIElementPane.TranslateUIElementAccelerator (Von WindowPane geerbt.)

Zum Seitenanfang

Hinweise

Bevor Sie ein Toolfenster dem generierten Designer hinzufügen können, müssen Sie das Fenster registrieren. Weitere Informationen finden Sie unter ModelingPackage.

Beispiele

Das folgende Beispiel fügt einem Toolfenster hinzu, das Fenster des benutzerdefinierten Tools einem Projekt der domänenspezifischen Sprache aufgerufen wird, das RegisterTools genannt wird. Wenn Sie das Projekt im generierten Designer öffnen, wird die Registerkarte für dieses Fenster neben Projektmappen-Explorer. Wenn Sie auf die Registerkarte klicken, wird eine Bezeichnung, die Dies ist das Fenster des benutzerdefinierte Tools lautet, Mitte dem Toolfenster.

Dieser Code registriert das Toolfenster:

using VSShellInterop = Microsoft.VisualStudio.Shell.Interop;
using VSShell = Microsoft.VisualStudio.Shell;
using DslShell = Microsoft.VisualStudio.Modeling.Shell;
using DslDesign = Microsoft.VisualStudio.Modeling.Design;
using VSTextTemplatingHost = Microsoft.VisualStudio.TextTemplating.VSHost;

namespace MS.RegisterTools.DslPackage
{
    [VSShell::ProvideToolWindowVisibility(typeof(CustomToolWindow), 
              Constants.RegisterToolsEditorFactoryId)]
    [VSShell::ProvideToolWindow(typeof(CustomToolWindow), 
              MultiInstances = false, 
              Style = VSShell::VsDockStyle.Tabbed, 
              Orientation = VSShell::ToolWindowOrientation.Right, 
              Window = "{3AE79031-E1BC-11D0-8F78-00A0C9110057}")]

    internal partial class RegisterToolsPackage
    {
        //Initializes the base class for the package
        protected override void Initialize()
        {
            base.Initialize();

            //Registers the custom tool window
            this.AddToolWindow(typeof(CustomToolWindow));
        }
    }
}

Dieser Code definiert das Toolfenster:

using System;
using System.Windows.Forms;
using VSShellInterop = Microsoft.VisualStudio.Shell.Interop;
using VSShell = Microsoft.VisualStudio.Shell;
using DslShell = Microsoft.VisualStudio.Modeling.Shell;
using DslDesign = Microsoft.VisualStudio.Modeling.Design;
using VSTextTemplatingHost = Microsoft.VisualStudio.TextTemplating.VSHost;

namespace MS.RegisterTools.DslPackage
{

    //Creates a tool window and gives it a title, icon, and label
    internal class CustomToolWindow : DslShell.ToolWindow
    {

        //defines a label
  private Label myLabel;
        
        //creates the tool window
  public CustomToolWindow(IServiceProvider serviceProvider) : base(serviceProvider)
  { 
  }

        //gets the icon for the tool window
        protected override int BitmapResource
        {
            get { return 104; }
        }

        //gets the index for the icon
        protected override int BitmapIndex
        {
            get { return 0; }
        }

        //gets the name of the tool window
        public override string WindowTitle
        {
            get { return "Custom Window"; }
        }

        //sets up a label
  protected override void OnToolWindowCreate()
  {
      this.myLabel = new Label();
this.myLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.myLabel.Text = "This is the custom tool window";
   }

        //puts a label on the tool window
  public override System.Windows.Forms.IWin32Window Window
  {
       get { return this.myLabel; }
  }
    }
}

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