Compartilhar via


Classe ToolWindow

Quando substituído por uma classe derivada, representa uma janela de ferramenta no designer gerado para um idioma específico do 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.11.0 (em Microsoft.VisualStudio.Modeling.Sdk.Shell.11.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 Obtém e define a janela ativa para edição in-loco. (Herdado de ModelingWindowPane.)
Propriedade protegida BitmapIndex Quando substituída em uma classe derivada, obtém o índice do bitmap que aparece ao lado do nome da janela de ferramenta.
Propriedade protegida BitmapResource Quando substituída em uma classe derivada, obtém a identificação do recurso do bitmap que aparece ao lado do nome da janela de ferramenta.
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 da ferramenta e permite que o Desfazer comando.
Propriedade pública Frame Obtém o IVsWindowFrame que corresponde a esta janela.. (Herdado de ModelingWindowPane.)
Propriedade protegida HasSelectableObjects Obtém a janela da ferramenta desabilita o Selecionar objetos comando se um documento não será carregado. (Substitui ModelingWindowPane.HasSelectableObjects.)
Propriedade protegida HasToolBar Obtém a janela da ferramenta e verifica se ele 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 principal elemento selecionado no painel da janela. (Herdado de ModelingWindowPane.)
Propriedade protegida SelectedElements Obtém os elementos selecionados no painel da janela. (Herdado de ModelingWindowPane.)
Propriedade pública SelectionCount Obtém o número de elementos que estão selecionados no painel da janela. (Herdado de ModelingWindowPane.)
Propriedade protegida SelectionHelpService Obtém o serviço de Ajuda da seleção. (Herdado de ModelingWindowPane.)
Propriedade protegida ServiceProvider Obtém o provedor de serviços local para este painel de janela. (Herdado de ModelingWindowPane.)
Propriedade protegida ToolBarHost Obtém o IVsToolWindowToolbarHost interface, que determina como as barras de ferramentas aparecem na janela da ferramenta.
Propriedade protegida ToolWindowFont Obtém a fonte a ser usada para a janela da ferramenta.
Propriedade pública Window (Herdado de WindowPane.)
Propriedade pública WindowTitle Obtém o título da janela da ferramenta.

Superior

Métodos

  Nome Descrição
Método protegido CommitPendingEditForCommand Quando implementado em uma classe derivada, especifica se edições pendentes deve ser confirmada antes de um comando seja executado. (Herdado de ModelingWindowPane.)
Método protegido CountAllObjects Obtém o número de elementos no painel da janela. (Herdado de ModelingWindowPane.)
Método público CountObjects Conta o número de elementos no painel da 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 pela ToolWindow e, opcionalmente, libera os recursos gerenciados. (Substitui ModelingWindowPane.Dispose(Boolean).)
Método protegido DoSelectObjects Quando implementado em uma classe derivada, seleciona os elementos no painel da 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 tentar liberar recursos e realizar outras operações de limpeza antes de ser recuperados pela coleta de lixo. (Herdado de Object.)
Método protegido GetAllObjects Obtém todos os elementos no painel da janela. (Herdado de ModelingWindowPane.)
Método público GetComponentSelected Especifica se um determinado componente está selecionado. (Herdado de ModelingWindowPane.)
Método público GetContainerSelected Especifica se um determinado recipiente está selecionado. (Herdado de ModelingWindowPane.)
Método público GetHashCode Serve como uma função de hash para um tipo específico. (Herdado de Object.)
Método público GetObjects Obtém os elementos selecionados no momento ou os elementos que podem ser selecionados no painel da janela. (Herdado de ModelingWindowPane.)
Método público GetSelectedComponents Obtém os componentes que são selecionados no painel da janela. (Herdado de ModelingWindowPane.)
Método protegido GetSelectedObjects Obtém os elementos selecionados no painel da janela. (Herdado de ModelingWindowPane.)
Método protegido GetService Obtém o serviço do tipo especificado.Substituir esse método para retornar o serviço de comando de menu personalizado (Herdado de ModelingWindowPane.)
Método público GetSite Obtém o site que foi definido 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 Inicialização de pós-criação.
Método protegido OnClose Remove os objetos do painel de janela a seleção do menu de atalho quando o painel da janela é fechado. (Herdado de ModelingWindowPane.)
Método protegido OnCreate Cria uma janela de ferramenta. (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 os ouvintes de evento após a seleção é alterada. (Herdado de ModelingWindowPane.)
Método protegido OnSelectionChanging Notifica os ouvintes de eventos antes da seleção é alterada. (Herdado de ModelingWindowPane.)
Método protegido OnToolWindowCreate Verifica se há alterações de quadro em uma janela de documento
Método protegido PreProcessMessage Manipula mensagens de janela. (Herdado de ModelingWindowPane.)
Método público SaveUIState (Herdado de WindowPane.)
Método público SelectObjects Seleciona os elementos no painel da janela. (Herdado de ModelingWindowPane.)
Método público SetSelectedComponents(ICollection) Adiciona os componentes especificados para o contêiner de seleção e notifica o shell da alteração da seleção. (Herdado de ModelingWindowPane.)
Método público SetSelectedComponents(ICollection, SelectionTypes) Ainda não implementado. (Herdado de ModelingWindowPane.)
Método público SetSite Inicializa o painel da janela no ambiente. (Herdado de ModelingWindowPane.)
Método público Show Exibe o painel da janela, traz-lo para a frente e torna a janela ativa. (Herdado de ModelingWindowPane.)
Método público ShowNoActivate Exibe o painel da janela, traz-lo para a frente, mas nã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 da janela é alterada. (Herdado de ModelingWindowPane.)
Evento público SelectionChanging Acionado antes da seleção da janela mudará de painel. (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 ferramenta para o designer gerado, você deve registrar a janela.Para obter mais informações, consulte [Microsoft.VisualStudio.Modeling.Shell.ModelingPackage].

Exemplos

O exemplo a seguir adiciona uma janela de ferramenta chamada Janela de ferramentas personalizada a um projeto de linguagem específica de domínio chamado RegisterTools.Quando você abre o seu projeto no designer gerado, na guia para esta janela aparece ao lado de Solution Explorer.Quando você clica nessa guia, um rótulo que lê Esta é a janela de ferramenta personalizada aparece no meio da janela da ferramenta.

Esse código registra a janela da ferramenta:

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 da ferramenta:

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