Udostępnij za pośrednictwem


Klasa ToolWindow

Kiedy zastępowany klasy pochodnej, reprezentuje okno Narzędzie w projektancie generowanych dla języka specyficzne dla domeny.

Ten interfejs API nie jest zgodny ze specyfikacją CLS. 

Hierarchia dziedziczenia

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

Przestrzeń nazw:  Microsoft.VisualStudio.Modeling.Shell
Zestaw:  Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (w Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0.dll)

Składnia

'Deklaracja
<CLSCompliantAttribute(False)> _
Public MustInherit Class ToolWindow _
    Inherits ModelingWindowPane
[CLSCompliantAttribute(false)]
public abstract class ToolWindow : ModelingWindowPane

Typ ToolWindow uwidacznia następujące elementy członkowskie.

Konstruktorzy

  Nazwa Opis
Metoda chroniona ToolWindow Inicjuje nowe wystąpienie ToolWindow klasy.

Początek

Właściwości

  Nazwa Opis
Właściwość publiczna ActiveInPlaceEditWindow Pobiera i ustawia aktywnego okna do edycji na miejscu. (Odziedziczone z ModelingWindowPane).
Właściwość chroniona BitmapIndex Kiedy zastępować w klasie pochodnej pobiera indeks mapy bitowej, który pojawia się obok nazwy okna narzędzia.
Właściwość chroniona BitmapResource Kiedy zastępować w klasie pochodnej pobiera identyfikator zasobu, bitmapy, która pojawia się obok nazwy okna narzędzia.
Właściwość publiczna Content (Odziedziczone z WindowPane).
Właściwość publiczna DocData Pobiera dokument w pamięci.
Właściwość chroniona EnableUndo Pobiera okno Narzędzie i umożliwia Cofnij polecenia.
Właściwość publiczna Frame Pobiera IVsWindowFrame , który odpowiada to okno. (Odziedziczone z ModelingWindowPane).
Właściwość chroniona HasSelectableObjects Pobiera wyłącza okno Narzędzie Zaznacz obiekty polecenie, jeśli dokument nie jest załadowany. (Zastępuje ModelingWindowPane.HasSelectableObjects).
Właściwość chroniona HasToolBar Pobiera okno Narzędzie i sprawdza, czy powinien mieć pasek narzędzi.
Właściwość chroniona HelpService Pobiera Usługa pomocy. (Odziedziczone z ModelingWindowPane).
Właściwość chroniona InitializationMode (Odziedziczone z WindowPane).
Właściwość publiczna MenuService Pobiera usługi polecenia menu. (Odziedziczone z ModelingWindowPane).
Właściwość publiczna PrimarySelection Pobiera podstawowego elementu zaznaczonego w okienku. (Odziedziczone z ModelingWindowPane).
Właściwość chroniona SelectedElements Pobiera elementy, które są zaznaczone w okienku. (Odziedziczone z ModelingWindowPane).
Właściwość publiczna SelectionCount Zwraca liczbę elementów, które są zaznaczone w okienku. (Odziedziczone z ModelingWindowPane).
Właściwość chroniona SelectionHelpService Pobiera Usługa pomocy zaznaczenia. (Odziedziczone z ModelingWindowPane).
Właściwość chroniona ServiceProvider Pobiera usługodawca, lokalną w tym okienku okna. (Odziedziczone z ModelingWindowPane).
Właściwość chroniona ToolBarHost Pobiera IVsToolWindowToolbarHost interfejsu, który określa sposób wyświetlania pasków narzędzi w oknie narzędzia.
Właściwość chroniona ToolWindowFont Pobiera czcionkę do użycia w oknie narzędzia.
Właściwość publiczna Window (Odziedziczone z WindowPane).
Właściwość publiczna WindowTitle Pobiera tytuł okna narzędzia.

Początek

Metody

  Nazwa Opis
Metoda chroniona CommitPendingEditForCommand Po wdrożeniu w klasie pochodnej Określa, czy do czasu edycji powinny być zatwierdzane przed wykonaniem polecenia. (Odziedziczone z ModelingWindowPane).
Metoda chroniona CountAllObjects Zwraca liczbę elementów w okienku. (Odziedziczone z ModelingWindowPane).
Metoda publiczna CountObjects Zlicza liczbę elementów w okienku lub w bieżącym zaznaczeniu. (Odziedziczone z ModelingWindowPane).
Metoda chroniona CountSelectedObjects Zwraca liczbę elementów w bieżącym zaznaczeniu. (Odziedziczone z ModelingWindowPane).
Metoda publiczna Dispose() (Odziedziczone z WindowPane).
Metoda chroniona Dispose(Boolean) Zwalnia niezarządzanych zasobów używanych przez ToolWindow i opcjonalnie zwalnia zarządzanych zasobów. (Zastępuje ModelingWindowPane.Dispose(Boolean)).
Metoda chroniona DoSelectObjects Po wdrożeniu w klasie pochodnej powoduje zaznaczenie elementów w okienku. (Odziedziczone z ModelingWindowPane).
Metoda publiczna Equals Określa, czy określony obiekt jest równa bieżącego obiektu. (Odziedziczone z Object).
Metoda chroniona Finalize Umożliwia obiekt spróbuj zwolnić zasoby i wykonywania innych operacji oczyszczania, zanim jest odzyskane w procesie wyrzucania elementów bezużytecznych. (Odziedziczone z Object).
Metoda chroniona GetAllObjects Pobiera wszystkie elementy w okienku. (Odziedziczone z ModelingWindowPane).
Metoda publiczna GetComponentSelected Określa, czy dany składnik jest zaznaczony. (Odziedziczone z ModelingWindowPane).
Metoda publiczna GetContainerSelected Określa, czy wybrana jest wybranego kontenera. (Odziedziczone z ModelingWindowPane).
Metoda publiczna GetHashCode Służy jako funkcja mieszania dla określonego typu. (Odziedziczone z Object).
Metoda publiczna GetObjects Pobiera elementy, które są obecnie zaznaczone lub elementów, które można wybrać w okienku. (Odziedziczone z ModelingWindowPane).
Metoda publiczna GetSelectedComponents Pobiera składniki, które są zaznaczone w okienku. (Odziedziczone z ModelingWindowPane).
Metoda chroniona GetSelectedObjects Pobiera elementy, które są zaznaczone w okienku. (Odziedziczone z ModelingWindowPane).
Metoda chroniona GetService Pobiera usługi określonego typu.Zastąpienie tej metody, aby przywrócić usługę polecenia menu niestandardowe (Odziedziczone z ModelingWindowPane).
Metoda publiczna GetSite Pobiera z witryny, która została ustawiona z SetSite. (Odziedziczone z ModelingWindowPane).
Metoda publiczna GetType Pobiera Type bieżącego wystąpienia. (Odziedziczone z Object).
Metoda publiczna Hide Ukrywa okienko. (Odziedziczone z ModelingWindowPane).
Metoda chroniona Initialize Inicjuje nowe wystąpienie ToolWindow klasy. (Zastępuje WindowPane.Initialize()).
Metoda publiczna LoadUIState (Odziedziczone z WindowPane).
Metoda chroniona MemberwiseClone Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object).
Metoda chroniona OnAfterToolWindowCreate Inicjalizacja POST-Creation.
Metoda chroniona OnClose Usuwa obiekty okienka okno Wybór menu skrótów, gdy okienko jest zamknięty. (Odziedziczone z ModelingWindowPane).
Metoda chroniona OnCreate Tworzy okno narzędzia. (Zastępuje WindowPane.OnCreate()).
Metoda chroniona OnDocumentWindowChanged Powiadamia klas pochodnych, jeśli użytkownik nie dokona zmian w oknie dokumentu.
Metoda chroniona OnSelectionChanged Po zmianie zaznaczenia, powiadamia detektory zdarzeń. (Odziedziczone z ModelingWindowPane).
Metoda chroniona OnSelectionChanging Powiadamia detektory zdarzeń, przed wprowadzeniem zmian zaznaczenia. (Odziedziczone z ModelingWindowPane).
Metoda chroniona OnToolWindowCreate Wykrywa zmiany ramki w oknie dokumentu
Metoda chroniona PreProcessMessage Obsługuje okno wiadomości. (Odziedziczone z ModelingWindowPane).
Metoda publiczna SaveUIState (Odziedziczone z WindowPane).
Metoda publiczna SelectObjects Powoduje zaznaczenie elementów w okienku. (Odziedziczone z ModelingWindowPane).
Metoda publiczna SetSelectedComponents(ICollection) Dodaje określone elementy do pojemnika zaznaczenia i powiadamia użytkownika powłoki zmianie wyboru. (Odziedziczone z ModelingWindowPane).
Metoda publiczna SetSelectedComponents(ICollection, SelectionTypes) Aktualnie nie zaimplementowane. (Odziedziczone z ModelingWindowPane).
Metoda publiczna SetSite Inicjuje okienko w środowisku. (Odziedziczone z ModelingWindowPane).
Metoda publiczna Show Wyświetla okienko szczegółów, przesuwa go na wierzch i ułatwia aktywnego okna. (Odziedziczone z ModelingWindowPane).
Metoda publiczna ShowNoActivate Wyświetla okienko szczegółów, przesuwa go na wierzch, ale nie był aktywnego okna. (Odziedziczone z ModelingWindowPane).
Metoda publiczna ToString Zwraca wartość typu ciąg, który reprezentuje bieżący obiekt. (Odziedziczone z Object).

Początek

Zdarzenia

  Nazwa Opis
Zdarzenie publiczne SelectionChanged Uruchamiany po zmianie zaznaczenia w okienku. (Odziedziczone z ModelingWindowPane).
Zdarzenie publiczne SelectionChanging Uruchamiany przed zaznaczeniem w okienku zmieni się okna. (Odziedziczone z ModelingWindowPane).

Początek

Jawne implementacje interfejsu

  Nazwa Opis
Jawna implementacja interfejsuMetoda prywatna IVsWindowPane.ClosePane Przestarzałe. (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IVsUIElementPane.CloseUIElementPane (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IVsWindowPane.CreatePaneWindow Przestarzałe. (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IVsUIElementPane.CreateUIElementPane (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IOleCommandTarget.Exec (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IVsWindowPane.GetDefaultSize Przestarzałe. (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IVsUIElementPane.GetDefaultUIElementSize (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IServiceProvider.GetService (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IVsUIElementPane.LoadUIElementState (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IVsWindowPane.LoadViewState Przestarzałe. (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IOleCommandTarget.QueryStatus (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IVsUIElementPane.SaveUIElementState (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IVsWindowPane.SaveViewState Przestarzałe. (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IVsWindowPane.SetSite Przestarzałe. (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IVsUIElementPane.SetUIElementSite (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IVsWindowPane.TranslateAccelerator Przestarzałe. (Odziedziczone z WindowPane).
Jawna implementacja interfejsuMetoda prywatna IVsUIElementPane.TranslateUIElementAccelerator (Odziedziczone z WindowPane).

Początek

Uwagi

Przed dodaniem okno Narzędzie do wygenerowanego projektant musi zarejestrować okna.Aby uzyskać więcej informacji, zobacz [Microsoft.VisualStudio.Modeling.Shell.ModelingPackage].

Przykłady

W następującym przykładzie dodano okno Narzędzie o nazwie Okno narzędzia niestandardowe do projektu języka specyficzne dla domeny o nazwie RegisterTools.Po otwarciu projektu w wygenerowanym Projektant kartę dla tego okna pojawia się obok Solution Explorer.Po kliknięciu tej karty, etykiety, odczytuje jest okno niestandardowe narzędzie pojawia się w środku okna narzędzia.

Ten kod rejestruje okna narzędzia:

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

Ten kod zawiera definicję okna narzędzia:

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; }
  }
    }
}

Bezpieczeństwo wątku

Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.Modeling.Shell