Compartir a través de


ToolWindow (Clase)

Cuando se reemplaza en una clase derivada, representa una ventana de herramientas del diseñador generado para un lenguaje específico del dominio.

Esta API no es conforme a CLS. 

Jerarquía de herencia

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

Espacio de nombres:  Microsoft.VisualStudio.Modeling.Shell
Ensamblado:  Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (en Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll)

Sintaxis

'Declaración
<CLSCompliantAttribute(False)> _
Public MustInherit Class ToolWindow _
    Inherits ModelingWindowPane
[CLSCompliantAttribute(false)]
public abstract class ToolWindow : ModelingWindowPane

El tipo ToolWindow expone los siguientes miembros.

Constructores

  Nombre Descripción
Método protegido ToolWindow Inicializa una nueva instancia de la clase ToolWindow.

Arriba

Propiedades

  Nombre Descripción
Propiedad pública ActiveInPlaceEditWindow Obtiene y establece la ventana activa para la edición en contexto. (Se hereda de ModelingWindowPane).
Propiedad protegida BitmapIndex Cuando se reemplaza en una clase derivada, obtiene el índice del mapa de bits que aparece junto al nombre de la ventana de herramientas.
Propiedad protegida BitmapResource Cuando se reemplaza en una clase derivada, obtiene el identificador de recurso del mapa de bits que aparece junto al nombre de la ventana de herramientas.
Propiedad pública Content (Se hereda de WindowPane).
Propiedad pública DocData Obtiene un documento en la memoria.
Propiedad protegida EnableUndo Obtiene la ventana de herramientas y habilita el comando Deshacer .
Propiedad pública Frame Obtiene el objeto IVsWindowFrame correspondiente a esta ventana. (Se hereda de ModelingWindowPane).
Propiedad protegida HasSelectableObjects Obtiene la ventana de herramientas que deshabilita el comando Seleccionar objetos si un documento no se carga. (Invalida a ModelingWindowPane.HasSelectableObjects).
Propiedad protegida HasToolBar Obtiene la ventana de herramientas y comprueba si debe tener una barra de herramientas.
Propiedad protegida HelpService Obtiene el servicio de Ayuda. (Se hereda de ModelingWindowPane).
Propiedad protegida InitializationMode (Se hereda de WindowPane).
Propiedad pública MenuService Obtiene el servicio del comando de menú. (Se hereda de ModelingWindowPane).
Propiedad pública PrimarySelection Obtiene el elemento primario seleccionado en el panel de ventana. (Se hereda de ModelingWindowPane).
Propiedad protegida SelectedElements Obtiene los elementos seleccionados en el panel de ventana. (Se hereda de ModelingWindowPane).
Propiedad pública SelectionCount Obtiene el número de elementos seleccionados en el panel de ventana. (Se hereda de ModelingWindowPane).
Propiedad protegida SelectionHelpService Obtiene el servicio de Ayuda de la selección. (Se hereda de ModelingWindowPane).
Propiedad protegida ServiceProvider Obtiene el proveedor de servicios que es local a este panel de ventana. (Se hereda de ModelingWindowPane).
Propiedad protegida ToolBarHost Obtiene la interfaz IVsToolWindowToolbarHost , que determina cómo aparecen las barras de herramientas en la ventana de herramientas.
Propiedad protegida ToolWindowFont Obtiene la fuente que se va a usar para la ventana de herramientas.
Propiedad pública Window (Se hereda de WindowPane).
Propiedad pública WindowTitle Obtiene el título de la ventana de herramientas.

Arriba

Métodos

  Nombre Descripción
Método protegido CommitPendingEditForCommand Cuando se implementa en una clase derivada, especifica si las ediciones pendientes se deben confirmar antes de que se ejecute un comando. (Se hereda de ModelingWindowPane).
Método protegido CountAllObjects Obtiene el número de elementos en el panel de la ventana. (Se hereda de ModelingWindowPane).
Método público CountObjects Cuenta el número de elementos en el panel de ventana o en la selección actual. (Se hereda de ModelingWindowPane).
Método protegido CountSelectedObjects Obtiene el número de elementos en la selección actual. (Se hereda de ModelingWindowPane).
Método público Dispose() (Se hereda de WindowPane).
Método protegido Dispose(Boolean) Libera los recursos no administrados que utiliza ToolWindow y libera los recursos administrados de forma opcional. (Invalida a ModelingWindowPane.Dispose(Boolean)).
Método protegido DoSelectObjects Cuando se implementa en una clase derivada, selecciona elementos en el panel de ventana. (Se hereda de ModelingWindowPane).
Método público Equals Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método protegido Finalize Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Se hereda de Object).
Método protegido GetAllObjects Obtiene todos los elementos del panel de ventana. (Se hereda de ModelingWindowPane).
Método público GetComponentSelected Especifica si está seleccionado el componente determinado. (Se hereda de ModelingWindowPane).
Método público GetContainerSelected Especifica si está seleccionado el contenedor determinado. (Se hereda de ModelingWindowPane).
Método público GetHashCode Sirve como la función hash predeterminada. (Se hereda de Object).
Método público GetObjects Obtiene los elementos que están actualmente seleccionados o los elementos que se pueden seleccionar en el panel de ventana. (Se hereda de ModelingWindowPane).
Método público GetSelectedComponents Obtiene los componentes que están seleccionados en el panel de ventana. (Se hereda de ModelingWindowPane).
Método protegido GetSelectedObjects Obtiene los elementos seleccionados en el panel de ventana. (Se hereda de ModelingWindowPane).
Método protegido GetService Obtiene el servicio del tipo especificado.Invalide este método para devolver el servicio de comandos de menú personalizado (Se hereda de ModelingWindowPane).
Método público GetSite Obtiene el sitio que se estableció con SetSite. (Se hereda de ModelingWindowPane).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método público Hide Oculta el panel de ventana. (Se hereda de ModelingWindowPane).
Método protegido Initialize Inicializa una nueva instancia de la clase ToolWindow. (Invalida a WindowPane.Initialize()).
Método público LoadUIState (Se hereda de WindowPane).
Método protegido MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método protegido OnAfterToolWindowCreate Inicialización posterior a la creación.
Método protegido OnClose Quita los objetos del panel de ventana de la selección de menú contextual cuando dicho panel se cierra. (Se hereda de ModelingWindowPane).
Método protegido OnCreate Crea una ventana de herramientas. (Invalida a WindowPane.OnCreate()).
Método protegido OnDocumentWindowChanged Notifica a las clases derivadas si un usuario realiza un cambio en la ventana de documento.
Método protegido OnSelectionChanged Notifica a los agentes de escucha de eventos tras producirse cambios en la selección. (Se hereda de ModelingWindowPane).
Método protegido OnSelectionChanging Notifica a los agentes de escucha de eventos antes de producirse cambios en la selección. (Se hereda de ModelingWindowPane).
Método protegido OnToolWindowCreate Escucha los cambios de marco en una ventana de documento
Método protegido PreProcessMessage Controla los mensajes de ventana. (Se hereda de ModelingWindowPane).
Método público SaveUIState (Se hereda de WindowPane).
Método público SelectObjects Selecciona elementos en el panel de ventana. (Se hereda de ModelingWindowPane).
Método público SetSelectedComponents(ICollection) Agrega los componentes especificados en el contenedor de selección y notifica al shell el cambio de selección. (Se hereda de ModelingWindowPane).
Método público SetSelectedComponents(ICollection, SelectionTypes) No implementado actualmente. (Se hereda de ModelingWindowPane).
Método público SetSite Inicializa el panel de ventana del entorno. (Se hereda de ModelingWindowPane).
Método público Show Muestra el panel de la ventana, lo trae al frente y convierte la ventana en la ventana activa. (Se hereda de ModelingWindowPane).
Método público ShowNoActivate Muestra el panel de la ventana, lo trae al frente, pero no convierte la ventana en la ventana activa. (Se hereda de ModelingWindowPane).
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).

Arriba

Eventos

  Nombre Descripción
Evento público SelectionChanged Se desencadena después de que la selección del panel de ventana ha cambiado. (Se hereda de ModelingWindowPane).
Evento público SelectionChanging Se desencadena antes de que cambie la selección en el panel de ventana. (Se hereda de ModelingWindowPane).

Arriba

Implementaciones de interfaz explícita

  Nombre Descripción
Implementación explícita de interfacesMétodo privado IVsWindowPane.ClosePane Obsoleta. (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IVsUIElementPane.CloseUIElementPane (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IVsWindowPane.CreatePaneWindow Obsoleta. (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IVsUIElementPane.CreateUIElementPane (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IOleCommandTarget.Exec (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IVsWindowPane.GetDefaultSize Obsoleta. (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IVsUIElementPane.GetDefaultUIElementSize (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IServiceProvider.GetService (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IVsUIElementPane.LoadUIElementState (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IVsWindowPane.LoadViewState Obsoleta. (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IOleCommandTarget.QueryStatus (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IVsUIElementPane.SaveUIElementState (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IVsWindowPane.SaveViewState Obsoleta. (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IVsWindowPane.SetSite Obsoleta. (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IVsUIElementPane.SetUIElementSite (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IVsWindowPane.TranslateAccelerator Obsoleta. (Se hereda de WindowPane).
Implementación explícita de interfacesMétodo privado IVsUIElementPane.TranslateUIElementAccelerator (Se hereda de WindowPane).

Arriba

Comentarios

Para poder agregar una ventana de herramientas el diseñador generado, debe registrar la ventana. Para obtener más información, vea ModelingPackage.

Ejemplos

El ejemplo siguiente agrega una ventana de herramientas denominada Ventana de herramientas personalizada a un proyecto específico del lenguaje que se denomina RegisterTools. Cuando abra el proyecto en el diseñador generado, la pestaña para esta ventana aparece junto a Explorador de soluciones. Cuando hace clic en esta pestaña, una etiqueta que lee Es la ventana de herramientas personalizada aparece en medio de ventanas de herramientas.

Este código registra la ventana de herramientas:

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

Este código define la ventana de herramientas:

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

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Vea también

Referencia

Microsoft.VisualStudio.Modeling.Shell (Espacio de nombres)