Cómo: Controlar el Cuadro de herramientas
El objeto ToolBox se representa en el modelo de automatización de Visual Studiomediante los siguientes objetos y colecciones:
Nombre de objeto |
Descripción |
---|---|
Objeto ToolBox |
Representa el Cuadro de herramientas. |
Colección ToolBoxTabs |
Representa todas las fichas del Cuadro de herramientas. |
Objeto ToolBoxTab2 |
Representa una ficha del Cuadro de herramientas. |
Objeto ToolBoxTab3 |
Representa una ficha del Cuadro de herramientas. |
Colección ToolBoxItem2 |
Colección que contiene todos los elementos de una ficha del Cuadro de herramientas. |
Objeto ToolBoxItem |
Representa un elemento de una ficha del Cuadro de herramientas. |
Mediante estos objetos y colecciones, se puede:
Agregar una ficha al Cuadro de herramientas (método Add).
Activar una ficha del Cuadro de herramientas (método Activate).
Eliminar una ficha del Cuadro de herramientas (método Delete).
Agregar un elemento al Cuadro de herramientas (método Add).
Seleccionar un elemento del Cuadro de herramientas (método Select).
Eliminar un elemento de una ficha del Cuadro de herramientas (método Delete).
Cambiar la presentación de la Lista de tareas a la vista de iconos o a la vista de lista (propiedad ListView).
Además de controlar el contenido del Cuadro de herramientas, se pueden controlar sus características, como el ancho y el alto. Para obtener más información, vea Cómo: Cambiar las características de las ventanas.
Nota
Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, dependiendo de los valores de configuración activos. Estos procedimientos se desarrollaron con la Configuración de desarrollo general activa. Para cambiar la configuración, elija la opción Importar y exportar configuraciones del menú Herramientas. Para obtener más información, vea Trabajar con valores de configuración.
Ejemplo
Este ejemplo muestra cómo hacer referencia y utilizar los diversos miembros del modelo de automatización del Cuadro de herramientas. Además, crea una nueva ficha del Cuadro de herramientas, le agrega algunos elementos (incluido un componente .NET), y a continuación, elimina uno de ellos. Si lo desea, puede también eliminar la nueva ficha. Para obtener más información sobre cómo ejecutar el ejemplo, vea Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización.
' 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);
}
}
Seguridad
Si se agrega un objeto COM que se debe registrar en el Cuadro de herramientas, se intentará registrar el componente COM. Se producirá un error del registro si no se inició sesión como administrador (o como miembro del grupo de administradores) y el objeto COM no se agregará al Cuadro de herramientas.
No se pueden buscar ni agregar componentes COM no registrados al Cuadro de herramientas, independientemente del nivel de permisos.
Vea también
Tareas
Cómo: Cambiar las características de las ventanas
Conceptos
Gráfico del modelo de objetos de automatización
Otros recursos
Crear y controlar las ventanas del entorno