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