Partager via


ToolWindow, classe

Une fois substitué par une classe dérivée, représente une fenêtre Outil dans le générateur généré pour un langage spécifique au domaine.

Cette API n'est pas conforme CLS. 

Hiérarchie d'héritage

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

Espace de noms :  Microsoft.VisualStudio.Modeling.Shell
Assembly :  Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (dans Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0.dll)

Syntaxe

'Déclaration
<CLSCompliantAttribute(False)> _
Public MustInherit Class ToolWindow _
    Inherits ModelingWindowPane
[CLSCompliantAttribute(false)]
public abstract class ToolWindow : ModelingWindowPane

Le type ToolWindow expose les membres suivants.

Constructeurs

  Nom Description
Méthode protégée ToolWindow Initialise une nouvelle instance de la classe ToolWindow.

Début

Propriétés

  Nom Description
Propriété publique ActiveInPlaceEditWindow Obtient et définit la fenêtre active pour la modification sur place. (Hérité de ModelingWindowPane.)
Propriété protégée BitmapIndex Une fois substitué dans une classe dérivée, obtient l'index de la bitmap qui apparaît à côté du nom de la fenêtre Outil.
Propriété protégée BitmapResource Une fois substitué dans une classe dérivée, obtient l'ID de ressource de la bitmap qui apparaît à côté du nom de la fenêtre Outil.
Propriété publique Content (Hérité de WindowPane.)
Propriété publique DocData Obtient un document dans la mémoire.
Propriété protégée EnableUndo Obtient la fenêtre Outil et active la commande d'Undo.
Propriété publique Frame Obtient IVsWindowFrame qui correspond à cette fenêtre. (Hérité de ModelingWindowPane.)
Propriété protégée HasSelectableObjects Obtient les désactive de fenêtre Outil la commande de Sélectionner des objets si un document n'est pas chargé. (Substitue ModelingWindowPane.HasSelectableObjects.)
Propriété protégée HasToolBar Obtient la fenêtre Outil et la vérifie s'il doit avoir une barre d'outils.
Propriété protégée HelpService Obtient le service d'aide. (Hérité de ModelingWindowPane.)
Propriété protégée InitializationMode (Hérité de WindowPane.)
Propriété publique MenuService Obtient le service de commande de menu. (Hérité de ModelingWindowPane.)
Propriété publique PrimarySelection Obtient l'élément sélectionné primaire dans le volet de fenêtre. (Hérité de ModelingWindowPane.)
Propriété protégée SelectedElements Obtient les éléments qui sont sélectionnés dans le volet de fenêtre. (Hérité de ModelingWindowPane.)
Propriété publique SelectionCount Obtient le nombre d'éléments qui sont sélectionnés dans le volet de fenêtre. (Hérité de ModelingWindowPane.)
Propriété protégée SelectionHelpService Obtient le service d'aide de sélection. (Hérité de ModelingWindowPane.)
Propriété protégée ServiceProvider Obtient le fournisseur de services qui est local à ce volet de fenêtre. (Hérité de ModelingWindowPane.)
Propriété protégée ToolBarHost Obtient l'interface d'IVsToolWindowToolbarHost, qui détermine comment les barres d'outils s'affichent dans la fenêtre Outil.
Propriété protégée ToolWindowFont Obtient la police à l'utiliser pour la fenêtre Outil.
Propriété publique Window (Hérité de WindowPane.)
Propriété publique WindowTitle Obtient le titre de la fenêtre Outil.

Début

Méthodes

  Nom Description
Méthode protégée CommitPendingEditForCommand Une fois implémenté dans une classe dérivée, spécifie si l'archivage en attente des modifications doit être validé avant qu'une commande soit exécutée. (Hérité de ModelingWindowPane.)
Méthode protégée CountAllObjects Obtient le nombre d'éléments dans le volet de fenêtre. (Hérité de ModelingWindowPane.)
Méthode publique CountObjects Compte le nombre d'éléments dans le volet de fenêtre ou dans la sélection actuelle. (Hérité de ModelingWindowPane.)
Méthode protégée CountSelectedObjects Obtient le nombre d'éléments dans la sélection actuelle. (Hérité de ModelingWindowPane.)
Méthode publique Dispose() (Hérité de WindowPane.)
Méthode protégée Dispose(Boolean) Libère les ressources non managées utilisées par ToolWindow et libère éventuellement les ressources managées. (Substitue ModelingWindowPane.Dispose(Boolean).)
Méthode protégée DoSelectObjects Une fois implémenté dans une classe dérivée, sélectionne des éléments dans le volet de fenêtre. (Hérité de ModelingWindowPane.)
Méthode publique Equals Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode protégée GetAllObjects Obtient tous les éléments dans le volet de fenêtre. (Hérité de ModelingWindowPane.)
Méthode publique GetComponentSelected Spécifie si le composant donné est sélectionné. (Hérité de ModelingWindowPane.)
Méthode publique GetContainerSelected Spécifie si le conteneur donné est sélectionné. (Hérité de ModelingWindowPane.)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetObjects Obtient l'un ou l'autre les éléments qui sont actuellement sélectionnés ou les éléments qui peuvent être sélectionnés dans le volet de fenêtre. (Hérité de ModelingWindowPane.)
Méthode publique GetSelectedComponents Obtient les composants qui sont sélectionnés dans le volet de fenêtre. (Hérité de ModelingWindowPane.)
Méthode protégée GetSelectedObjects Obtient les éléments qui sont sélectionnés dans le volet de fenêtre. (Hérité de ModelingWindowPane.)
Méthode protégée GetService Obtient le service du type spécifié.Substituez cette méthode pour retourner le service personnalisé de commande de menu (Hérité de ModelingWindowPane.)
Méthode publique GetSite Obtient le site qui a été défini avec SetSite. (Hérité de ModelingWindowPane.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique Hide Masque le volet de fenêtre. (Hérité de ModelingWindowPane.)
Méthode protégée Initialize Initialise une nouvelle instance de la classe ToolWindow. (Substitue WindowPane.Initialize().)
Méthode publique LoadUIState (Hérité de WindowPane.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode protégée OnAfterToolWindowCreate initialisation de Publication- création Publication-création.
Méthode protégée OnClose Supprime des objets de volet de fenêtre de la sélection de menu contextuel lorsque le volet de fenêtre est fermé. (Hérité de ModelingWindowPane.)
Méthode protégée OnCreate Crée une fenêtre Outil. (Substitue WindowPane.OnCreate().)
Méthode protégée OnDocumentWindowChanged Informe les classes dérivées si un utilisateur apporte une modification dans la fenêtre de document.
Méthode protégée OnSelectionChanged Informe des écouteurs d'événements après que la sélection change. (Hérité de ModelingWindowPane.)
Méthode protégée OnSelectionChanging Informe des écouteurs d'événements avant que la sélection change. (Hérité de ModelingWindowPane.)
Méthode protégée OnToolWindowCreate Écoute des modifications de frame d'une fenêtre de document
Méthode protégée PreProcessMessage Traite des messages de fenêtre. (Hérité de ModelingWindowPane.)
Méthode publique SaveUIState (Hérité de WindowPane.)
Méthode publique SelectObjects Sélectionne des éléments dans le volet de fenêtre. (Hérité de ModelingWindowPane.)
Méthode publique SetSelectedComponents(ICollection) Ajoute les composants spécifiés dans le conteneur de sélection et notifie le shell de la modification de sélection. (Hérité de ModelingWindowPane.)
Méthode publique SetSelectedComponents(ICollection, SelectionTypes) Actuellement non implémenté. (Hérité de ModelingWindowPane.)
Méthode publique SetSite Initialise le volet de fenêtre dans l'environnement. (Hérité de ModelingWindowPane.)
Méthode publique Show Affiche le volet de fenêtre, l'apporte vers l'avant, et lui fait la fenêtre active. (Hérité de ModelingWindowPane.)
Méthode publique ShowNoActivate Affiche le volet de fenêtre, l'apporte vers l'avant, mais ne lui fait pas la fenêtre active. (Hérité de ModelingWindowPane.)
Méthode publique ToString Retourne une chaîne qui représente l'objet actif. (Hérité de Object.)

Début

Événements

  Nom Description
Événement public SelectionChanged Déclenché après la sélection dans le volet de fenêtre a changé. (Hérité de ModelingWindowPane.)
Événement public SelectionChanging Déclenché avant la sélection dans le volet de fenêtre change. (Hérité de ModelingWindowPane.)

Début

Implémentations d'interface explicite

  Nom Description
Implémentation d'interface expliciteMéthode privée IVsWindowPane.ClosePane Obsolète. (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IVsUIElementPane.CloseUIElementPane (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IVsWindowPane.CreatePaneWindow Obsolète. (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IVsUIElementPane.CreateUIElementPane (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IOleCommandTarget.Exec (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IVsWindowPane.GetDefaultSize Obsolète. (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IVsUIElementPane.GetDefaultUIElementSize (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IServiceProvider.GetService (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IVsUIElementPane.LoadUIElementState (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IVsWindowPane.LoadViewState Obsolète. (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IOleCommandTarget.QueryStatus (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IVsUIElementPane.SaveUIElementState (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IVsWindowPane.SaveViewState Obsolète. (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IVsWindowPane.SetSite Obsolète. (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IVsUIElementPane.SetUIElementSite (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IVsWindowPane.TranslateAccelerator Obsolète. (Hérité de WindowPane.)
Implémentation d'interface expliciteMéthode privée IVsUIElementPane.TranslateUIElementAccelerator (Hérité de WindowPane.)

Début

Notes

Avant de pouvoir ajouter une fenêtre Outil au générateur généré, vous devez enregistrer la fenêtre.Pour plus d'informations, consultez [Microsoft.VisualStudio.Modeling.Shell.ModelingPackage].

Exemples

L'exemple suivant ajoute une fenêtre Outil appelée Fenêtre Outil personnalisée à un projet de langage spécifique au domaine qui est nommé RegisterTools.Lorsque vous ouvrez votre projet dans le générateur généré, l'onglet pour cette fenêtre apparaît à côté de Explorateur de solutions.Lorsque vous cliquez sur cet onglet, un nom qui lit Ceci est la fenêtre d'outils personnalisée apparaît au milieu de la fenêtre Outil.

Ce code enregistre la fenêtre Outil :

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

Ce code définit la fenêtre Outil :

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

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.Modeling.Shell, espace de noms