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 | 파생된 클래스에서 재정의 된 도구 창의 이름 옆에 있는 비트맵의 리소스 ID를 가져옵니다. | |
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-creation 초기화 합니다. | |
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(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.