Поделиться через


ToolWindow - класс

При переопределении в производном классе представляет окно инструментов в конструкторе для доменного языка.

Этот интерфейс API CLS-несовместим. 

Иерархия наследования

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

Пространство имен:  Microsoft.VisualStudio.Modeling.Shell
Сборка:  Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (в Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0.dll)

Синтаксис

'Декларация
<CLSCompliantAttribute(False)> _
Public MustInherit Class ToolWindow _
    Inherits ModelingWindowPane
[CLSCompliantAttribute(false)]
public abstract class ToolWindow : ModelingWindowPane

Тип ToolWindow предоставляет следующие члены.

Конструкторы

  Имя Описание
Защищенный метод ToolWindow Инициализирует новый экземпляр класса ToolWindow.

В начало страницы

Свойства

  Имя Описание
Открытое свойство ActiveInPlaceEditWindow Возвращает и задает активное окно для редактирования на месте. (Унаследовано от ModelingWindowPane.)
Защищенное свойство BitmapIndex При переопределении в производном классе получает индекс растрового изображения, отображаемый рядом с именем окна инструментов.
Защищенное свойство BitmapResource При переопределении в производном классе получает идентификатор ресурса растрового изображения, отображаемый рядом с именем окна инструментов.
Открытое свойство Content (Унаследовано от WindowPane.)
Открытое свойство DocData Возвращает документ в памяти.
Защищенное свойство EnableUndo Получает окно инструментов и включает Отменить команды.
Открытое свойство Frame Возвращает IVsWindowFrame это соответствует этому окну. (Унаследовано от ModelingWindowPane.)
Защищенное свойство HasSelectableObjects Получает окно инструментов запрещает Выбрать объекты команда если документ не загружен. (Переопределяет ModelingWindowPane.HasSelectableObjects.)
Защищенное свойство HasToolBar Получает окно инструментов и проверяет, должен ли оно быть панель инструментов.
Защищенное свойство HelpService Получает службу справки. (Унаследовано от ModelingWindowPane.)
Защищенное свойство InitializationMode (Унаследовано от WindowPane.)
Открытое свойство MenuService Получает службу команд меню. (Унаследовано от ModelingWindowPane.)
Открытое свойство PrimarySelection Получает основной выделенный элемент в области окна. (Унаследовано от ModelingWindowPane.)
Защищенное свойство SelectedElements Получает элементы, выбранные в области окна. (Унаследовано от ModelingWindowPane.)
Открытое свойство SelectionCount Возвращает количество элементов, выделенных в области окна. (Унаследовано от ModelingWindowPane.)
Защищенное свойство SelectionHelpService Получает службу справки выделения. (Унаследовано от ModelingWindowPane.)
Защищенное свойство ServiceProvider Получает поставщик услуг, локальным для данной области окна. (Унаследовано от ModelingWindowPane.)
Защищенное свойство ToolBarHost Возвращает IVsToolWindowToolbarHost интерфейс, определяющий способ панели инструментов отображаются в окне инструментов.
Защищенное свойство ToolWindowFont Возвращает шрифт использовать для окна инструментов.
Открытое свойство Window (Унаследовано от WindowPane.)
Открытое свойство WindowTitle Возвращает заголовок окна инструментов.

В начало страницы

Методы

  Имя Описание
Защищенный метод CommitPendingEditForCommand При реализации в производном классе определяет, является ли ожидающие правок быть зафиксирована, прежде чем выполняется команда. (Унаследовано от ModelingWindowPane.)
Защищенный метод CountAllObjects Получает число элементов в области окна. (Унаследовано от ModelingWindowPane.)
Открытый метод CountObjects Подсчитывает число элементов в области окна или в текущем выделении. (Унаследовано от ModelingWindowPane.)
Защищенный метод CountSelectedObjects Получает число элементов в текущем выделении. (Унаследовано от ModelingWindowPane.)
Открытый метод Dispose() (Унаследовано от WindowPane.)
Защищенный метод Dispose(Boolean) Освобождает неуправляемые ресурсы, используемые объектом ToolWindow, а при необходимости освобождает также управляемые ресурсы. (Переопределяет ModelingWindowPane.Dispose(Boolean).)
Защищенный метод DoSelectObjects При реализации в производном классе выделяет элементы в области окна. (Унаследовано от ModelingWindowPane.)
Открытый метод Equals Определяет, равен ли заданный объект текущему объекту. (Унаследовано от Object.)
Защищенный метод Finalize Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)
Защищенный метод GetAllObjects Возвращает все элементы в области окна. (Унаследовано от ModelingWindowPane.)
Открытый метод GetComponentSelected Определяет, является ли заданный компонент. (Унаследовано от ModelingWindowPane.)
Открытый метод GetContainerSelected Определяет, выбран ли данный контейнер. (Унаследовано от ModelingWindowPane.)
Открытый метод GetHashCode Играет роль хэш-функции для определенного типа. (Унаследовано от Object.)
Открытый метод GetObjects Получает любые элементы, которые в настоящий момент выбраны или элементы, которые можно выбрать в области окна. (Унаследовано от ModelingWindowPane.)
Открытый метод GetSelectedComponents Возвращает компоненты, выделенных в области окна. (Унаследовано от ModelingWindowPane.)
Защищенный метод GetSelectedObjects Получает элементы, выбранные в области окна. (Унаследовано от ModelingWindowPane.)
Защищенный метод GetService Возвращает службу заданного типа.Переопределите этот метод, чтобы получить пользовательскую службу команд меню (Унаследовано от ModelingWindowPane.)
Открытый метод GetSite Возвращает сайт, с помощью которого был установлен с SetSite. (Унаследовано от ModelingWindowPane.)
Открытый метод GetType Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
Открытый метод Hide Скрывает область окна. (Унаследовано от ModelingWindowPane.)
Защищенный метод Initialize Инициализирует новый экземпляр класса ToolWindow. (Переопределяет WindowPane.Initialize().)
Открытый метод LoadUIState (Унаследовано от WindowPane.)
Защищенный метод MemberwiseClone Создает неполную копию текущего объекта Object. (Унаследовано от Object.)
Защищенный метод OnAfterToolWindowCreate Инициализация POST-создания.
Защищенный метод OnClose Удаляет объекты области окна из выделения контекстного меню, когда область окна закрыть. (Унаследовано от ModelingWindowPane.)
Защищенный метод OnCreate Создает окно инструментов. (Переопределяет WindowPane.OnCreate().)
Защищенный метод OnDocumentWindowChanged Уведомляет производные классы если пользователь вносит изменение в окне документа.
Защищенный метод OnSelectionChanged Уведомляет прослушивателей события после изменении выделения. (Унаследовано от ModelingWindowPane.)
Защищенный метод OnSelectionChanging Уведомляет прослушивателей события, прежде чем изменении выделения. (Унаследовано от ModelingWindowPane.)
Защищенный метод OnToolWindowCreate Осуществляет прослушивание изменений кадра в окне документа
Защищенный метод PreProcessMessage Обрабатывает сообщения окна. (Унаследовано от ModelingWindowPane.)
Открытый метод SaveUIState (Унаследовано от WindowPane.)
Открытый метод SelectObjects Выбирает элементы в области окна. (Унаследовано от ModelingWindowPane.)
Открытый метод SetSelectedComponents(ICollection) Добавляет указанные компоненты в контейнере выделения и уведомляет оболочка изменения выделения. (Унаследовано от ModelingWindowPane.)
Открытый метод SetSelectedComponents(ICollection, SelectionTypes) В настоящий момент не реализовано. (Унаследовано от ModelingWindowPane.)
Открытый метод SetSite Инициализирует область окна среды. (Унаследовано от ModelingWindowPane.)
Открытый метод Show Указывает специализированную части окна, помещает его на передний план, и делает ее активное окно. (Унаследовано от ModelingWindowPane.)
Открытый метод ShowNoActivate Указывает специализированную части окна, помещает его на передний план, но не делает его активное окно. (Унаследовано от ModelingWindowPane.)
Открытый метод ToString Возвращает строку, представляющую текущий объект. (Унаследовано от Object.)

В начало страницы

События

  Имя Описание
Открытое событие SelectionChanged О после выделения в области окна меняется. (Унаследовано от ModelingWindowPane.)
Открытое событие SelectionChanging О перед выделением в области окна меняется. (Унаследовано от ModelingWindowPane.)

В начало страницы

Явные реализации интерфейса

  Имя Описание
Явная реализация интерфейсаЗакрытый метод IVsWindowPane.ClosePane Устаревший. (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IVsUIElementPane.CloseUIElementPane (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IVsWindowPane.CreatePaneWindow Устаревший. (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IVsUIElementPane.CreateUIElementPane (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IOleCommandTarget.Exec (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IVsWindowPane.GetDefaultSize Устаревший. (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IVsUIElementPane.GetDefaultUIElementSize (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IServiceProvider.GetService (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IVsUIElementPane.LoadUIElementState (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IVsWindowPane.LoadViewState Устаревший. (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IOleCommandTarget.QueryStatus (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IVsUIElementPane.SaveUIElementState (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IVsWindowPane.SaveViewState Устаревший. (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IVsWindowPane.SetSite Устаревший. (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IVsUIElementPane.SetUIElementSite (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IVsWindowPane.TranslateAccelerator Устаревший. (Унаследовано от WindowPane.)
Явная реализация интерфейсаЗакрытый метод IVsUIElementPane.TranslateUIElementAccelerator (Унаследовано от WindowPane.)

В начало страницы

Заметки

Перед добавлением окно инструментов к созданному конструктору, необходимо зарегистрировать окно.Дополнительные сведения см. в разделе [Microsoft.VisualStudio.Modeling.Shell.ModelingPackage].

Примеры

В следующем примере добавляется с названием окно инструментов Пользовательское окно инструментов к проекту доменного языка с именем RegisterTools.При открытии проекта в конструкторе, вкладка " для данного окна отображается рядом с Обозреватель решений.При выборе этой вкладки, метку, которая считывает Это пользовательское окно инструментов появляется в середине окна инструментов.

Этот код регистрирует окно инструментов.

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

Этот код определяет окно инструментов.

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

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

Microsoft.VisualStudio.Modeling.Shell - пространство имен