Partager via


Comment : contrôler la boîte à outils

L'objet ToolBox est représenté dans le modèle Automation de Visual Studio par les objets et collections suivants :

Nom de l'objet

Description

Objet ToolBox

Représente la Boîte à outils.

Collection ToolBoxTabs

Représente tous les onglets de l'objet ToolBox.

Objet ToolBoxTab2

Représente un onglet de la Boîte à outils.

Objet ToolBoxTab3

Représente un onglet de la Boîte à outils.

Collection ToolBoxItem2

Collection contenant l'ensemble des éléments d'un onglet de la Boîte à outils.

Objet ToolBoxItem

Représente un seul élément d'un onglet de la Boîte à outils.

À l'aide de ces objets et collections, vous pouvez :

  • ajouter un onglet à la Boîte à outils (méthode Add) ;

  • activer un onglet de la Boîte à outils (méthode Activate) ;

  • supprimer un onglet de la Boîte à outils (méthode Delete) ;

  • ajouter un élément à la Boîte à outils (méthode Add) ;

  • ajouter un élément à la Boîte à outils (méthode Select) ;

  • supprimer un élément d'un onglet de la Boîte à outils (méthode Delete ) ;

  • changer la présentation de la Liste des tâches pour l'afficher en vue Icône ou en vue Liste (propriété ListView).

Outre le contrôle du contenu de la Boîte à outils, vous pouvez également contrôler ses caractéristiques, telles que sa largeur et sa hauteur.Pour plus d'informations, consultez Comment : modifier les caractéristiques d'une fenêtre.

[!REMARQUE]

Les boîtes de dialogue et les commandes de menu que vous voyez peuvent être différentes de ce qui est décrit dans l'aide selon vos paramètres actifs ou votre édition. Ces procédures ont été développées avec les paramètres de développement généraux actifs.Pour modifier vos paramètres, sélectionnez Importation et exportationde paramètres dans le menu Outils.Pour plus d'informations, consultez Paramètres Visual Studio.

Exemple

Cet exemple illustre la façon de référencer et d'utiliser les différents membres du modèle Automation Toolbox.Cet exemple crée un onglet Boîte à outils, y ajoute quelques éléments (notamment un composant .NET), puis supprime l'un d'eux.Si vous le souhaitez, vous pouvez également supprimer le nouvel onglet.Pour plus d'informations sur l'exécution de l'exemple, consultez Comment : compiler et exécuter les exemples de code du modèle objet Automation.

' VSMacro
Sub ToolboxExample()
    Dim tlBox As ToolBox
    Dim tbxTabs As ToolBoxTabs
    Dim tbxTab As ToolBoxTab
    Dim tbxItems As ToolBoxItems
    Dim tbxItem As ToolBoxItem

    Try
        ' Create an object reference to the IDE's ToolBox object and
        ' its tabs.
        tlBox = DTE.Windows.Item(Constants.vsWindowKindToolbox).Object
        tbxTabs = tlBox.ToolBoxTabs

        ' Add a new tab to the Toolbox and select it.
        tbxTab = tbxTabs.Add("New ToolBox Tab")
        tbxTab.Activate()

        ' Add new items to the new Toolbox tab. This shows two
        ' different ways to index the Toolbox tabs. The third item
        ' added is a .NET component that contains a number of 
        ' Web-related controls.
        tbxTab.ToolBoxItems.Add("Text Item", "Hello world")
        tbxTab.ToolBoxItems.Add("HTML Item", "Hello world", _
        vsToolBoxItemFormat.vsToolBoxItemFormatHTML)
        ' Replace the <Path and name of a .NET dll>
        ' with a path to a .NET dll file.
        tbxTabs.Item("New Toolbox Tab").ToolBoxItems.Add _
        ("DotNET Component", "< Path and name of a .NET dll >", _
 vsToolBoxItemFormat. _
        vsToolBoxItemFormatDotNETComponent)
        
        ' Use the ToolboxItems collection to access all the items under 
        ' a ToolBox tab.
        tbxItems = tbxTab.ToolBoxItems

        ' List the number of ToolboxItems in a ToolBoxTab.
        MsgBox _
("Number of items in " & tbxTabs.Item(1).Name & " tab: "  _
& tbxItems.Count)

        ' Select the second item in the ToolboxItems collection and 
        ' delete it.
        tbxItems.Item(2).Select()
        If (MsgBox("Delete the second ToolBox item?", vbYesNo) = vbYes) _
        Then
            tbxItems.SelectedItem.Delete()
            MsgBox("Number of items in " & tbxTabs.Item(1).Name & " _
            tab: " & tbxItems.Count)
        End If
        If (MsgBox("Delete the new tab?", vbYesNo) = vbYes) Then
            tbxTabs.Item("New ToolBox Tab").Delete()
            MsgBox("Tab deleted.")
        End If
    Catch ex As System.Exception
        MsgBox("ERROR: " & ex.Message)
    End Try
End Sub
Using System.Windows.Forms;
public void OnConnection(object application,
 Extensibility.ext_ConnectMode connectMode, object addInInst, ref
 System.Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    // Pass the applicationObject member variable to the code example.
    ToolboxExample(_applicationObject); 
}

public void ToolboxExample( DTE2 dte ) 
{ 
    ToolBox tlBox = null; 
    ToolBoxTabs tbxTabs = null; 
    ToolBoxTab3 tbxTab = null; 
    ToolBoxItems tbxItems = null; 
    ToolBoxItem2 tbxItem = null; 

    try 
    { 
        // Create an object reference to the IDE's ToolBox object and
        // its tabs.
        tlBox = (ToolBox )( dte.Windows.Item(
 Constants.vsWindowKindToolbox ).Object ); 
        tbxTabs = tlBox.ToolBoxTabs; 

        // Add a new tab to the Toolbox and select it.
        tbxTab = (ToolBoxTab3)tbxTabs.Add( "New ToolBox Tab" ); 
        tbxTab.Activate(); 

        // Add new items to the new Toolbox tab. This shows two
        // different ways to index the Toolbox tabs. The third item
        // added is a .NET component that contains a number of 
        // Web-related controls.
        tbxTab.ToolBoxItems.Add( "Text Item", "Hello world",
 (EnvDTE.vsToolBoxItemFormat.vsToolBoxItemFormatText)); 
        tbxTab.ToolBoxItems.Add( "HTML Item", "Hello world"
, vsToolBoxItemFormat.vsToolBoxItemFormatHTML ); 
        // Replace the <Path and name of a .NET dll>
        // with a path to a .NET dll file.
        tbxTabs.Item( "New Toolbox Tab" ).ToolBoxItems.Add
( "DotNET Component",
 "<Path and name of a .NET dll>",
 vsToolBoxItemFormat.vsToolBoxItemFormatDotNETComponent ); 

        // Use the ToolboxItems collection to access all the 
        // items under a ToolBox tab.
        tbxItems = tbxTab.ToolBoxItems; 

        // List the number of ToolboxItems in a ToolBoxTab.
        MessageBox.Show( "Number of items in " +
 tbxTabs.Item( 1 ).Name + " tab: " + tbxItems.Count); 
          
        // Select the second item in the ToolboxItems collection and 
        // delete it.
        // Comment the following lines out, if you do not want to
        // delete the controls.
        tbxItems.Item( 2 ).Select(); 
        
        tbxItems.SelectedItem.Delete(); 
        MessageBox.Show( "Number of items in " 
+ tbxTabs.Item( 1 ).Name + " tab: " + tbxItems.Count); 
        tbxTabs.Item( "New ToolBox Tab" ).Delete(); 
        MessageBox.Show( "Tab deleted."); 
        
    } 
    catch ( System.Exception ex ) 
    { 
        MessageBox.Show( "ERROR: " + ex.Message); 
    } 
}

Sécurité

L'ajout d'un objet COM qui doit être inscrit auprès de la Boîte à outils tente d'enregistrer le composant COM.L'inscription échoue si vous n'êtes pas connecté en tant qu'administrateur (ou en tant que membre du groupe Administrateurs), et l'objet COM n'est pas ajouté à l'onglet Boîte à outils.

Quel que soit votre niveau d'autorisation, vous ne pouvez pas naviguer jusqu'à des composants COM non inscrits, ni les ajouter à la Boîte à outils.

Voir aussi

Tâches

Comment : modifier les caractéristiques d'une fenêtre

Comment : créer un complément

Procédure pas à pas : création d'un Assistant

Concepts

Graphique Modèle d'objet Automation

Autres ressources

Création et contrôle de fenêtres d'environnement

Création de compléments et d'Assistants

Guide de référence de l'extensibilité et de l'automation