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), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.