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 형식에서는 다음과 같은 멤버를 노출합니다.

생성자

  이름 설명
Protected 메서드 ToolWindow ToolWindow 클래스의 새 인스턴스를 초기화합니다.

위쪽

속성

  이름 설명
Public 속성 ActiveInPlaceEditWindow 가져오고 현재 위치에서 편집 하기 위해 현재 창을 설정 합니다. (ModelingWindowPane에서 상속됨)
Protected 속성 BitmapIndex 파생된 클래스에서 재정의 된 도구 창의 이름 옆에 표시 되는 비트맵의 인덱스를 가져옵니다.
Protected 속성 BitmapResource 파생된 클래스에서 재정의 된 도구 창의 이름 옆에 있는 비트맵의 리소스 ID를 가져옵니다.
Public 속성 Content (WindowPane에서 상속됨)
Public 속성 DocData 메모리의 문서를 가져옵니다.
Protected 속성 EnableUndo 도구 창 고 수는 취소 명령을.
Public 속성 Frame 가져옵니다의 IVsWindowFrame 이 창에 해당 합니다. (ModelingWindowPane에서 상속됨)
Protected 속성 HasSelectableObjects 도구 창을 비활성화를 가져옵니다는 개체 선택 문서 로드 되지 않은 경우 명령. (ModelingWindowPane.HasSelectableObjects을(를) 재정의함)
Protected 속성 HasToolBar 도구 창을 가져오고 도구 모음을 표시할지 여부를 확인 합니다.
Protected 속성 HelpService 도움말 서비스를 가져옵니다. (ModelingWindowPane에서 상속됨)
Protected 속성 InitializationMode (WindowPane에서 상속됨)
Public 속성 MenuService 메뉴 명령 서비스를 가져옵니다. (ModelingWindowPane에서 상속됨)
Public 속성 PrimarySelection 창에서 기본 선택된 요소를 가져옵니다. (ModelingWindowPane에서 상속됨)
Protected 속성 SelectedElements 창에 선택 된 요소를 가져옵니다. (ModelingWindowPane에서 상속됨)
Public 속성 SelectionCount 창에서 선택 된 요소의 수를 가져옵니다. (ModelingWindowPane에서 상속됨)
Protected 속성 SelectionHelpService 선택 도움말 서비스를 가져옵니다. (ModelingWindowPane에서 상속됨)
Protected 속성 ServiceProvider 이 창에는 로컬 서비스 공급자를 가져옵니다. (ModelingWindowPane에서 상속됨)
Protected 속성 ToolBarHost 가져옵니다는 IVsToolWindowToolbarHost 도구 모음 도구 창에 표시 하는 방법을 결정 하는 인터페이스입니다.
Protected 속성 ToolWindowFont 도구 창에 사용 하는 글꼴을 가져옵니다.
Public 속성 Window (WindowPane에서 상속됨)
Public 속성 WindowTitle 도구 창의 제목을 가져옵니다.

위쪽

메서드

  이름 설명
Protected 메서드 CommitPendingEditForCommand 파생된 클래스에서 구현 될 때 명령을 실행 하기 전에 보류 중인 편집 내용을 커밋할 것인지 여부를 지정 합니다. (ModelingWindowPane에서 상속됨)
Protected 메서드 CountAllObjects 창의 창에 요소의 수를 가져옵니다. (ModelingWindowPane에서 상속됨)
Public 메서드 CountObjects 창 창에서 또는 현재 선택 영역에 요소 수를 계산합니다. (ModelingWindowPane에서 상속됨)
Protected 메서드 CountSelectedObjects 현재 선택 영역에 요소 수를 가져옵니다. (ModelingWindowPane에서 상속됨)
Public 메서드 Dispose() (WindowPane에서 상속됨)
Protected 메서드 Dispose(Boolean) ToolWindow 에서 사용하는 관리되지 않는 리소스를 해제하고, 관리되는 리소스를 선택적으로 해제할 수 있습니다. (ModelingWindowPane.Dispose(Boolean)을(를) 재정의함)
Protected 메서드 DoSelectObjects 파생된 클래스에서 구현 되는 경우 창에서 요소를 선택 합니다. (ModelingWindowPane에서 상속됨)
Public 메서드 Equals 지정한 개체와 현재 개체가 같은지 여부를 확인합니다. (Object에서 상속됨)
Protected 메서드 Finalize 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Protected 메서드 GetAllObjects 창에서 모든 요소를 가져옵니다. (ModelingWindowPane에서 상속됨)
Public 메서드 GetComponentSelected 지정 된 구성 요소가 선택 되었는지 여부를 지정 합니다. (ModelingWindowPane에서 상속됨)
Public 메서드 GetContainerSelected 지정 된 컨테이너를 선택 되어 있는지 여부를 지정 합니다. (ModelingWindowPane에서 상속됨)
Public 메서드 GetHashCode 특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드 GetObjects 현재 선택한 요소 또는 창에서 선택할 수 있는 요소를 가져옵니다. (ModelingWindowPane에서 상속됨)
Public 메서드 GetSelectedComponents 창에 선택 된 구성 요소를 가져옵니다. (ModelingWindowPane에서 상속됨)
Protected 메서드 GetSelectedObjects 창에 선택 된 요소를 가져옵니다. (ModelingWindowPane에서 상속됨)
Protected 메서드 GetService 지정 된 형식의 서비스를 가져옵니다.사용자 지정 메뉴 명령 서비스를 반환 하려면이 메서드를 재정의 (ModelingWindowPane에서 상속됨)
Public 메서드 GetSite 로 설정 된 사이트를 가져옵니다 SetSite. (ModelingWindowPane에서 상속됨)
Public 메서드 GetType 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드 Hide 윈도우 창을 숨깁니다. (ModelingWindowPane에서 상속됨)
Protected 메서드 Initialize ToolWindow 클래스의 새 인스턴스를 초기화합니다. (WindowPane.Initialize()을(를) 재정의함)
Public 메서드 LoadUIState (WindowPane에서 상속됨)
Protected 메서드 MemberwiseClone 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Protected 메서드 OnAfterToolWindowCreate Post-creation 초기화 합니다.
Protected 메서드 OnClose 윈도우 창의 닫을 때 창 창 개체 바로 가기 메뉴의 선택 항목에서 제거 합니다. (ModelingWindowPane에서 상속됨)
Protected 메서드 OnCreate 도구 창을 만듭니다. (WindowPane.OnCreate()을(를) 재정의함)
Protected 메서드 OnDocumentWindowChanged 사용자가 문서 창에서 변경 하는 경우 파생된 클래스를 알립니다.
Protected 메서드 OnSelectionChanged 선택 영역 변경 후 이벤트 수신기를 알립니다. (ModelingWindowPane에서 상속됨)
Protected 메서드 OnSelectionChanging 선택 영역이 변경 되기 전에 이벤트 수신기를 알립니다. (ModelingWindowPane에서 상속됨)
Protected 메서드 OnToolWindowCreate 문서 윈도우에서 프레임 변경 사항을 수신 하
Protected 메서드 PreProcessMessage 창 메시지를 처리합니다. (ModelingWindowPane에서 상속됨)
Public 메서드 SaveUIState (WindowPane에서 상속됨)
Public 메서드 SelectObjects 창 패널에서 요소를 선택합니다. (ModelingWindowPane에서 상속됨)
Public 메서드 SetSelectedComponents(ICollection) 선택 항목 컨테이너에 지정 된 구성 요소를 추가 하 고 셸 선택 변경 사항을 알립니다. (ModelingWindowPane에서 상속됨)
Public 메서드 SetSelectedComponents(ICollection, SelectionTypes) 현재 구현되지 않았습니다. (ModelingWindowPane에서 상속됨)
Public 메서드 SetSite 환경에서 창을 초기화합니다. (ModelingWindowPane에서 상속됨)
Public 메서드 Show 윈도우 창에 표시 됩니다, 그리고 앞으로 제공 하 여 활성 창입니다. (ModelingWindowPane에서 상속됨)
Public 메서드 ShowNoActivate 윈도우 창에 표시 됩니다 앞으로 가져오지만 현재 창 확인 하지 않습니다. (ModelingWindowPane에서 상속됨)
Public 메서드 ToString 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)

위쪽

이벤트

  이름 설명
Public 이벤트 SelectionChanged 윈도우 창에서 선택 영역이 변경 된 후 발생 합니다. (ModelingWindowPane에서 상속됨)
Public 이벤트 SelectionChanging 선택 영역에 창 창 변경 하기 전에 발생합니다. (ModelingWindowPane에서 상속됨)

위쪽

명시적 인터페이스 구현

  이름 설명
명시적 인터페이스 구현Private 메서드 IVsWindowPane.ClosePane 사용되지 않습니다. (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsUIElementPane.CloseUIElementPane (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsWindowPane.CreatePaneWindow 사용되지 않습니다. (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsUIElementPane.CreateUIElementPane (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 IOleCommandTarget.Exec (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsWindowPane.GetDefaultSize 사용되지 않습니다. (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsUIElementPane.GetDefaultUIElementSize (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 IServiceProvider.GetService (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsUIElementPane.LoadUIElementState (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsWindowPane.LoadViewState 사용되지 않습니다. (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 IOleCommandTarget.QueryStatus (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsUIElementPane.SaveUIElementState (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsWindowPane.SaveViewState 사용되지 않습니다. (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsWindowPane.SetSite 사용되지 않습니다. (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsUIElementPane.SetUIElementSite (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 IVsWindowPane.TranslateAccelerator 사용되지 않습니다. (WindowPane에서 상속됨)
명시적 인터페이스 구현Private 메서드 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) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

참고 항목

참조

Microsoft.VisualStudio.Modeling.Shell 네임스페이스