방법: 프로그래밍 방식으로 도구 창 열기
도구 창 메뉴에서 명령을 클릭 하거나에 해당 하는 바로 가기 키 일반적으로 열립니다. 그러나 명령 처리기와 같이 도구 창을 프로그래밍 방식으로 열 수 있을 수 있습니다.
제공 관리 Vspackage에서 도구 창을 열려면 사용 FindToolWindow. 다른 Vspackage에서 도구 창을 열려면 사용 FindToolWindow. 두 경우 모두 도구 창을 만들 필요 합니다.
다음 코드는 C# Reference.ToolWindow 샘플에서 가져온 것입니다.
도구 창을 프로그래밍 방식으로 열 수
도구 창의 창, 프레임 및 해당 구현 Vspackage를 만듭니다. 자세한 내용은 방법: 도구 창 만들기를 참조하십시오.
도구 창에 등록 Visual Studio 추가 하 여 해당 ProvideToolWindowAttribute 제공 Vspackage를 합니다.
<PackageRegistration(UseManagedResourcesOnly:=True), _ InstalledProductRegistration("#110", "#112", "1.0", IconResourceID:=400), _ ProvideMenuResource(1000, 1), _ ProvideToolWindow(GetType(MyToolWindow), Style:=VsDockStyle.Tabbed, Window:="3ae79031-e1bc-11d0-8f78-00a0c9110057"), _ DefaultRegistryRoot("Software\Microsoft\VisualStudio\8.0Exp"), _ Guid("01069CDD-95CE-4620-AC21-DDFF6C57F012")> _ Public NotInheritable Class PackageToolWindow Inherits Package
[ProvideToolWindow(typeof(MyToolWindow), Style = VsDockStyle.Tabbed, Window = "3ae79031-e1bc-11d0-8f78-00a0c9110057")] [ProvideMenuResource(1000, 1)] [DefaultRegistryRoot(@"Software\Microsoft\VisualStudio\8.0Exp")] [PackageRegistration(UseManagedResourcesOnly = true)] [Guid("01069CDD-95CE-4620-AC21-DDFF6C57F012")] public sealed class PackageToolWindow : Package
도구 창으로 열 PersistedWindowPane 도킹 하려면이 레지스터 솔루션 탐색기. 자세한 내용은 방법: 도구 창에 등록를 참조하십시오.
사용 FindToolWindow 도구 창을 찾을 수 또는 존재 하지 않는 경우 만들 수 있습니다.
' Get the (only) instance of this tool window. ' The last flag is set to true so that if the tool window does not exists it will be created. Dim window As ToolWindowPane = Me.FindToolWindow(GetType(MyToolWindow), 0, True) If (window Is Nothing) Or (window.Frame Is Nothing) Then Throw New NotSupportedException(Resources.CanNotCreateWindow) End If
// Get the (only) instance of this tool window. // The last flag is set to true so that if the tool window does not exists it will be created. ToolWindowPane window = this.FindToolWindow(typeof(MyToolWindow), 0, true); if ((window == null) || (window.Frame == null)) { throw new NotSupportedException(Resources.CanNotCreateWindow); }
도구 창에서 도구 창 프레임을 가져옵니다.
Dim windowFrame As IVsWindowFrame = TryCast(window.Frame, IVsWindowFrame)
IVsWindowFrame windowFrame = (IVsWindowFrame)window.Frame;
도구 창을 표시 합니다.
ErrorHandler.ThrowOnFailure(windowFrame.Show())
ErrorHandler.ThrowOnFailure(windowFrame.Show());