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


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.12.0 (в Microsoft.VisualStudio.Modeling.Sdk.Shell.12.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 Инициализация после создания.
Защищенный метод 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.)

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

Заметки

Перед добавлением окно инструментов в создаваемый конструктор, необходимо зарегистрировать окно. Для получения дополнительной информации см. 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 - пространство имен