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