Resumen de la tecnología ToolStrip

En este tema se resume la información sobre el control ToolStrip y las clases que admiten su uso.

El control ToolStrip y las clases asociadas a él proporcionan una solución completa para la creación de barras de herramientas, barras de estado y menús.

Espacios de nombres

System.Windows.Forms

Información previa

Con el control ToolStrip y las clases asociadas a él, puede crear funcionalidad avanzada de barras de herramientas con un aspecto y un comportamiento coherente y profesional. El control ToolStrip y sus clases ofrecen las siguientes mejoras en comparación con los controles anteriores:

  • Un modelo de evento más coherente.

  • Un comportamiento en tiempo de diseño más coherente que contiene editores de colecciones de elementos y listas de tareas.

  • Representación personalizada con ToolStripManager y ToolStripRenderer.

  • Espacio compartido integrado (uso compartido del espacio horizontal o vertical dentro del área de la herramienta cuando se acopla) con ToolStripContainer y ToolStripPanel.

  • Reordenación de elementos en tiempo de diseño y tiempo de ejecución con la propiedad AllowItemReorder.

  • Reubicación de elementos a un menú de desbordamiento con la propiedad CanOverflow.

  • Ubicación de controles completamente configurable con ToolStripContainer, ToolStripPanel y ToolStripContentPanel.

  • Hospedaje de ToolStrip, controles tradicionales o personalizados con ToolStripControlHost.

  • Combinación de controles ToolStrip con ToolStripPanel.

ToolStrip es la clase base extensible de MenuStrip, ContextMenuStrip y StatusStrip. Estos controles son contenedores ToolStripItem que heredan el control de eventos y el comportamiento común, extendidos para que cada implementación se ocupe del comportamiento que es adecuado para ella. Los controles que derivan de ToolStripItem se muestran en la tabla siguiente. La clase base ToolStrip administra los eventos de pintura, entrada del usuario y arrastrar y colocar de estos controles.

Los controles ToolStrip, MenuStrip, ContextMenuStrip y StatusStrip reemplazan la barra de herramientas, el menú, el menú contextual y los controles de la barra de estado anteriores, aunque estos controles se conservan por compatibilidad con versiones anteriores.

Resumen de las clases de ToolStrip

La siguiente tabla muestra las clases de ToolStrip agrupadas por área de tecnología.

Área de tecnología Clase
Contenedores de barra de herramientas, estado y menú ToolStrip

MenuStrip

ContextMenuStrip

StatusStrip

ToolStripDropDownMenu
Elementos de ToolStrip ToolStripLabel

ToolStripDropDownItem

ToolStripMenuItem

ToolStripButton

ToolStripStatusLabel

ToolStripSeparator

ToolStripControlHost

ToolStripComboBox

ToolStripTextBox

ToolStripProgressBar

ToolStripDropDownButton

ToolStripSplitButton
Location ToolStripContainer

ToolStripContentPanel

ToolStripPanel
Presentación y representación ToolStripManager

ToolStripRenderer

ToolStripProfessionalRenderer

ToolStripRenderMode

ToolStripManagerRenderMode

Características en tiempo de diseño de ToolStrip

La familia de controles ToolStrip proporciona un sofisticado conjunto de herramientas y plantillas para editar y definir localmente los elementos básicos de la interfaz de usuario, de modo que pueda crear rápidamente una aplicación que funcione.

Cuadros de diálogo de tareas

En Visual Studio, al hacer clic en la etiqueta inteligente de un control en el diseñador, se muestra una lista de tareas que permite acceder cómodamente a muchos comandos habituales.

Editores de colecciones de elementos

En Visual Studio, al hacer clic en Editar elementos en la lista de tareas o hacer clic con el botón derecho en el control y elegir Editar elementos en el menú contextual, se muestra el editor de la colección del control. Los editores de colecciones le permiten agregar, quitar y reordenar los elementos que contiene el control. También puede ver y cambiar las propiedades del control y los elementos del control.

Hospedaje de controles

La clase ToolStripControlHost proporciona contenedores integrados para los controles ToolStripComboBox, ToolStripTextBox y ToolStripProgressBar. También puede hospedar cualquier otro control existente o COM en un ToolStripControlHost.

Para ver un ejemplo de hospedaje de controles, consulte Cómo: Ajustar un control de formularios Windows Forms con ToolStripControlHost.

Representación

Las clases ToolStrip implementan un esquema de representación que es significativamente diferente de otros controles de formularios Windows Forms. Con este esquema, puede aplicar fácilmente estilos y temas.

Para aplicar un estilo a un ToolStrip y a todos los objetos ToolStripItem que contiene, no es necesario controlar el evento Paint de cada elemento, sino que puede establecer la propiedad RenderMode como uno de los valores ToolStripRenderMode distintos de Custom. También puede establecer el Renderer directamente como cualquier clase que herede de la clase ToolStripRenderer. Al establecer esta propiedad, se establece automáticamente el RenderMode.

Puede aplicar el mismo estilo a varios objetos ToolStrip de la misma aplicación estableciendo RenderMode como ManagerRenderMode y estableciendo la propiedad RenderMode o Renderer como el ToolStripManagerRenderMode que quiera o el valor ToolStripRenderer, respectivamente.

Para ver ejemplos de representación, consulte Cómo: Crear y establecer un representador personalizado para el control ToolStrip de formularios Windows Forms.

Estilos y temas

ToolStrip y las clases asociadas permiten admitir fácilmente estilos visuales y aspectos personalizados sin necesidad de reemplazar los métodos OnPaint de cada elemento. Use DisplayStyle y las propiedades RenderMode y Renderer.

Espacio compartido y acoplamiento

Puede ajustar el espacio compartido o acoplar o colocar en posición absoluta los controles ToolStrip. Los elementos ToolStrip se muestran con el LayoutEngine del contenedor.

Espacio compartido es la capacidad de las barras de herramientas para compartir el espacio horizontal o vertical. Un formulario Windows Forms puede tener un ToolStripContainer que, a su vez, tenga paneles en los lados izquierdo, derecho, superior e inferior del formulario para colocar y compartir el espacio de los controles ToolStrip, MenuStrip y StatusStrip. Los diferentes controles ToolStrip se apilan verticalmente si los coloca en el ToolStripContainer izquierdo o derecho. Se apilan horizontalmente si los coloca en el ToolStripContainer superior o inferior. Puede usar el ToolStripContentPanel central del ToolStripContainer para colocar controles tradicionales en el formulario.

Los controles ToolStripContainer se pueden seleccionar (uno solo o todos ellos) en tiempo de diseño y se pueden eliminar. Los ToolStripContainer se pueden expandir y contraer, y cambian de tamaño con los controles que contienen.

Acoplamiento es la especificación de la ubicación simple de un control en el lado izquierdo, derecho, superior o inferior del formulario.

La ventaja del espacio compartido frente al acoplamiento es que los controles ToolStrip, MenuStrip y StatusStrip pueden compartir el espacio horizontal o vertical con otros controles.

La mayoría de los controles ToolStrip se puede acoplar al formulario como otros controles en lugar de utilizar el espacio compartido. También puede especificar que un control ToolStrip se sitúe libremente en el formulario quitándolo de su ToolStripContainer y estableciendo su propiedad Dock como None, o puede especificar su posición absoluta estableciendo la propiedad Location correspondiente. Consulte Cómo: Mover un objeto ToolStrip de un contenedor ToolStripContainer a un formulario.

Utilice uno o más controles ToolStripPanel para una mayor flexibilidad, especialmente para las aplicaciones de interfaz de múltiples documentos (MDI), o si no necesita ToolStripContainer. Un ToolStripPanel proporciona un espacio acoplable para buscar y compartir el espacio de los controles ToolStrip, pero no los controles tradicionales. De forma predeterminada, el ToolStripPanel no aparece en el diseñador Cuadro de herramientas, pero puede colocarlo en él haciendo clic con el botón derecho en el Cuadro de herramientas y, luego, en Elegir elementos. También puede acceder al ToolStripPanel mediante programación, como con cualquier otra clase.

ToolStrip, MenuStrip y StatusStrip permiten el desbordamiento de elementos. Es similar al comportamiento de estos elementos en las barras de herramientas de Microsoft Office.

Consulte también