Partilhar via


Classe ToolWindow

Quando substituído por uma classe derivada, representa uma janela de ferramentas no designer gerado para uma linguagem específica de domínio.

Esta API não compatível com CLS. 

Hierarquia de herança

System.Object
  Microsoft.VisualStudio.Shell.WindowPane
    Microsoft.VisualStudio.Modeling.Shell.ModelingWindowPane
      Microsoft.VisualStudio.Modeling.Shell.ToolWindow
        Microsoft.VisualStudio.Modeling.Shell.ModelExplorerToolWindow

Namespace:  Microsoft.VisualStudio.Modeling.Shell
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (em Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll)

Sintaxe

'Declaração
<CLSCompliantAttribute(False)> _
Public MustInherit Class ToolWindow _
    Inherits ModelingWindowPane
[CLSCompliantAttribute(false)]
public abstract class ToolWindow : ModelingWindowPane

O tipo ToolWindow expõe os membros a seguir.

Construtores

  Nome Descrição
Método protegido ToolWindow Inicializa uma nova instância da classe ToolWindow.

Superior

Propriedades

  Nome Descrição
Propriedade pública ActiveInPlaceEditWindow Obter e definir a janela ativa para edição in-loco. (Herdado de ModelingWindowPane.)
Propriedade protegida BitmapIndex Quando substituído em uma classe derivada, obtém o índice de bitmap que aparece ao lado do nome da janela de ferramentas.
Propriedade protegida BitmapResource Quando substituído em uma classe derivada, obtém a identificação de recurso de bitmap que aparece ao lado do nome da janela de ferramentas.
Propriedade pública Content (Herdado de WindowPane.)
Propriedade pública DocData Obtém um documento na memória.
Propriedade protegida EnableUndo Obtém a janela de ferramentas e permite que o comando de Desfazer .
Propriedade pública Frame Obtém IVsWindowFrame que corresponde a essa janela. (Herdado de ModelingWindowPane.)
Propriedade protegida HasSelectableObjects Obtém as desativa da janela de ferramenta o comando de Selecionar Objetos se um documento não é carregado. (Substitui ModelingWindowPane.HasSelectableObjects.)
Propriedade protegida HasToolBar Obtém a janela de ferramentas e verifique se deve ter uma barra de ferramentas.
Propriedade protegida HelpService Obtém o serviço de ajuda. (Herdado de ModelingWindowPane.)
Propriedade protegida InitializationMode (Herdado de WindowPane.)
Propriedade pública MenuService Obtém o serviço de comando de menu. (Herdado de ModelingWindowPane.)
Propriedade pública PrimarySelection Obtém o elemento selecionado primária no painel de janela. (Herdado de ModelingWindowPane.)
Propriedade protegida SelectedElements Obtém os elementos que são selecionados no painel de janela. (Herdado de ModelingWindowPane.)
Propriedade pública SelectionCount Obtém o número de elementos que são selecionados no painel de janela. (Herdado de ModelingWindowPane.)
Propriedade protegida SelectionHelpService Obtém o serviço de ajuda de seleção. (Herdado de ModelingWindowPane.)
Propriedade protegida ServiceProvider Obtém o provedor de serviços que é local para esse painel de janela. (Herdado de ModelingWindowPane.)
Propriedade protegida ToolBarHost Obtém a interface de IVsToolWindowToolbarHost , que determina como barras de ferramentas aparecem na janela de ferramenta.
Propriedade protegida ToolWindowFont Obtém a fonte para usar a janela de ferramentas.
Propriedade pública Window (Herdado de WindowPane.)
Propriedade pública WindowTitle Obtém o título da janela de ferramenta.

Superior

Métodos

  Nome Descrição
Método protegido CommitPendingEditForCommand Quando implementado em uma classe derivada, especifica se deve edições pendentes serem confirmadas antes que um comando foi executado. (Herdado de ModelingWindowPane.)
Método protegido CountAllObjects Obtém o número de elementos no painel de janela. (Herdado de ModelingWindowPane.)
Método público CountObjects Conta o número de elementos no painel de janela ou na seleção atual. (Herdado de ModelingWindowPane.)
Método protegido CountSelectedObjects Obtém o número de elementos na seleção atual. (Herdado de ModelingWindowPane.)
Método público Dispose() (Herdado de WindowPane.)
Método protegido Dispose(Boolean) Libera os recursos não gerenciados usados pelo ToolWindow e opcionalmente libera os recursos gerenciados. (Substitui ModelingWindowPane.Dispose(Boolean).)
Método protegido DoSelectObjects Quando implementado em uma classe derivada, selecionar elementos no painel de janela. (Herdado de ModelingWindowPane.)
Método público Equals Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object.)
Método protegido Finalize Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes que seja recuperado pela coleta de lixo. (Herdado de Object.)
Método protegido GetAllObjects Obtém todos os elementos no painel de janela. (Herdado de ModelingWindowPane.)
Método público GetComponentSelected Especifica se o componente já está selecionado. (Herdado de ModelingWindowPane.)
Método público GetContainerSelected Especifica se o contêiner dado está selecionado. (Herdado de ModelingWindowPane.)
Método público GetHashCode Serve como a função de hash padrão. (Herdado de Object.)
Método público GetObjects Obtém um ou outros elementos que são selecionados atualmente ou elementos que podem ser selecionados no painel de janela. (Herdado de ModelingWindowPane.)
Método público GetSelectedComponents Obtém os componentes que são selecionados no painel de janela. (Herdado de ModelingWindowPane.)
Método protegido GetSelectedObjects Obtém os elementos que são selecionados no painel de janela. (Herdado de ModelingWindowPane.)
Método protegido GetService Obtém o serviço do tipo especificado.Substitua esse método para retornar o serviço personalizado de comando de menu (Herdado de ModelingWindowPane.)
Método público GetSite Obtém o site que foi definida com SetSite. (Herdado de ModelingWindowPane.)
Método público GetType Obtém Type da instância atual. (Herdado de Object.)
Método público Hide Oculta o painel de janela. (Herdado de ModelingWindowPane.)
Método protegido Initialize Inicializa uma nova instância da classe ToolWindow. (Substitui WindowPane.Initialize().)
Método público LoadUIState (Herdado de WindowPane.)
Método protegido MemberwiseClone Cria uma cópia superficial de Objectatual. (Herdado de Object.)
Método protegido OnAfterToolWindowCreate Após inicialização de design.
Método protegido OnClose Remove os objetos do painel da janela de seleção de menu de atalho quando o painel de janela é fechado. (Herdado de ModelingWindowPane.)
Método protegido OnCreate Cria uma janela de ferramentas. (Substitui WindowPane.OnCreate().)
Método protegido OnDocumentWindowChanged Notifica classes derivadas se um usuário fizer uma alteração na janela do documento.
Método protegido OnSelectionChanged Notifica ouvintes de eventos após a seleção mudou. (Herdado de ModelingWindowPane.)
Método protegido OnSelectionChanging Notifica os ouvintes de evento antes que a seleção muda. (Herdado de ModelingWindowPane.)
Método protegido OnToolWindowCreate Escuta alterações do quadro em uma janela do documento
Método protegido PreProcessMessage Trata mensagens de janela. (Herdado de ModelingWindowPane.)
Método público SaveUIState (Herdado de WindowPane.)
Método público SelectObjects Selecionar elementos no painel de janela. (Herdado de ModelingWindowPane.)
Método público SetSelectedComponents(ICollection) Adicionar componentes especificados no contêiner de seleção e notifica o shell de alteração de seleção. (Herdado de ModelingWindowPane.)
Método público SetSelectedComponents(ICollection, SelectionTypes) Não implementado atualmente. (Herdado de ModelingWindowPane.)
Método público SetSite Inicializa o painel de janela no ambiente. (Herdado de ModelingWindowPane.)
Método público Show Exibe o painel de janela, trá-lo à frente, e torna a janela ativa. (Herdado de ModelingWindowPane.)
Método público ShowNoActivate Exibe o painel de janela, trá-lo à frente, mas não o torna a janela ativa. (Herdado de ModelingWindowPane.)
Método público ToString Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.)

Superior

Eventos

  Nome Descrição
Evento público SelectionChanged Acionado após a seleção no painel de janela foi alterado. (Herdado de ModelingWindowPane.)
Evento público SelectionChanging Acionado antes de seleção no painel da janela alterações. (Herdado de ModelingWindowPane.)

Superior

Implementações explícitas da interface

  Nome Descrição
Implementação explícita da interfaceMétodo particular IVsWindowPane.ClosePane Obsoleta. (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IVsUIElementPane.CloseUIElementPane (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IVsWindowPane.CreatePaneWindow Obsoleta. (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IVsUIElementPane.CreateUIElementPane (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IOleCommandTarget.Exec (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IVsWindowPane.GetDefaultSize Obsoleta. (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IVsUIElementPane.GetDefaultUIElementSize (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IServiceProvider.GetService (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IVsUIElementPane.LoadUIElementState (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IVsWindowPane.LoadViewState Obsoleta. (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IOleCommandTarget.QueryStatus (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IVsUIElementPane.SaveUIElementState (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IVsWindowPane.SaveViewState Obsoleta. (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IVsWindowPane.SetSite Obsoleta. (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IVsUIElementPane.SetUIElementSite (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IVsWindowPane.TranslateAccelerator Obsoleta. (Herdado de WindowPane.)
Implementação explícita da interfaceMétodo particular IVsUIElementPane.TranslateUIElementAccelerator (Herdado de WindowPane.)

Superior

Comentários

Antes de adicionar uma janela de ferramentas para o designer gerado, você deve registrar a janela. Para obter mais informações, consulte ModelingPackage.

Exemplos

O exemplo a seguir adiciona uma janela de ferramenta chamada A janela personalizado de ferramenta para um projeto domínio específico de linguagem que é chamado RegisterTools. Quando você abre o projeto no designer gerado, o guia para essa janela aparece ao lado de Gerenciador de Soluções. Quando você clica neste guia, um rótulo que lê Esta é a janela personalizado de ferramenta aparece no meio de uma janela de ferramentas.

Esse código registra a janela de ferramentas:

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));
        }
    }
}

Esse código define a janela de ferramentas:

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; }
  }
    }
}

Acesso thread-safe

Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.VisualStudio.Modeling.Shell