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 sus clases asociadas proporcionan una solución completa para crear barras de herramientas, barras de estado y menús.

Espacios de nombres

System.Windows.Forms

Segundo plano

Con el control ToolStrip y sus clases asociadas, puede crear funciones de la barra de herramientas avanzadas que tengan un aspecto y un comportamiento coherente y profesional. El control y las clases ToolStrip ofrecen las siguientes mejoras respecto a los controles anteriores:

  • Un modelo de eventos más coherente.

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

  • Representación personalizada con ToolStripManager y ToolStripRenderer.

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

  • Reordenación en tiempo de diseño y de ejecución de elementos 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 controles ToolStrip, tradicionales o personalizados mediante ToolStripControlHost.

  • Combinación de controles ToolStrip mediante ToolStripPanel.

ToolStrip es la clase base ampliable de MenuStrip, ContextMenuStrip y StatusStrip. Estos controles son contenedores ToolStripItem que heredan el comportamiento y el control de eventos habitual, ampliados para que cada implementación tenga el comportamiento apropiado. Los controles que derivan de ToolStripItem se muestran en la tabla siguiente. La clase ToolStrip base controla el dibujo, los datos proporcionados por el usuario y los eventos arrastrar y colocar de dichos controles.

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

Un vistazo a las clases ToolStrip

La tabla siguiente muestra las clases ToolStrip agrupadas por área tecnológica.

Área de tecnología

Clase

Contenedores de barra de herramientas, estado y menú

ToolStrip

MenuStrip

ContextMenuStrip

StatusStrip

ToolStripDropDownMenu

Elementos ToolStrip

ToolStripLabel

ToolStripDropDownItem

ToolStripMenuItem

ToolStripButton

ToolStripStatusLabel

ToolStripSeparator

ToolStripControlHost

ToolStripComboBox

ToolStripTextBox

ToolStripProgressBar

ToolStripDropDownButton

ToolStripSplitButton

Ubicación

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 conjunto de herramientas y plantillas amplio para la edición en contexto y definición de las bases de la interfaz de usuario de modo que pueda crear rápidamente una aplicación de trabajo.

Cuadros de diálogo de tarea

En Visual Studio, si se hace clic en la etiqueta inteligente en un control del diseñador se muestra una lista de tareas para tener fácil acceso a muchos de los comandos utilizados con mayor frecuencia.

Editores de colecciones de elementos

En Visual Studio, si hace clic en Editar elementos en la lista de tareas o hace clic con el botón secundario en el control y selecciona Editar elementos en el menú contextual, se mostrará el editor de colecciones del control. Los editores de colecciones permiten agregar, quitar y reordenar los elementos que contiene el control. También puede ver y cambiar las propiedades del control y de sus elementos.

Controles de hospedaje

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

Para obtener un ejemplo del hospedaje de controles, vea Cómo: Ajustar un control de formularios Windows Forms con ToolStripControlHost.

Representación

Las clases ToolStrip implementan un esquema de representación que es bastante diferente de otros controles de formularios Windows Forms. Con este esquema, puede aplicar con facilidad estilos y temas.

Para aplicar un estilo a ToolStrip y a todos los objetos ToolStripItem que contiene, no es necesario controlar el evento Paint de cada elemento. En su lugar, puede establecer la propiedad RenderMode en uno de los valores ToolStripRenderMode distinto de Custom. Alternativamente, puede establecer directamente Renderer en cualquier clase que herede de la clase ToolStripRenderer. Al establecer esta propiedad, se establece automáticamente RenderMode.

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

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

Estilos y temas

ToolStrip y las clases asociadas proporcionan una manera sencilla de compatibilidad con los estilos visuales y el aspecto personalizado que no requiere reemplazar los métodosOnPaint para cada elemento. Utilice la propiedad DisplayStyle y las propiedades RenderMode y Renderer.

Espacio compartido y acoplamiento

Puede acoplar, compartir el espacio o definir el posicionamiento absoluto de los controles ToolStrip. El objeto LayoutEngine del contenedor define la disposición de los elementos ToolStrip.

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 controles ToolStrip, MenuStrip y StatusStrip. Varios 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 utilizar el panel ToolStripContentPanel central del control ToolStripContainer para colocar controles tradicionales en el formulario.

Cualquiera o todos los controles ToolStripContainer son directamente seleccionables en tiempo de diseño y se pueden eliminar. ToolStripContainer es ampliable y plegable y cambia el tamaño con los controles que contiene.

Acoplar es la especificación de una 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 pueden 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 quitando su ToolStripContainer y estableciendo su propiedad Dock en None, o bien, especificar su posición absoluta estableciendo la propiedad Location. Vea Cómo: Mover un objeto ToolStrip de un contenedor ToolStripContainer a un formulario.

Utilice uno o más controles ToolStripPanel para tener más flexibilidad, sobre todo para las aplicaciones de la Interfaz de múltiples documentos (MDI), o si no necesita ToolStripContainer. ToolStripPanel proporciona un espacio acoplable para compartir espacio y colocar controles ToolStrip pero no controles tradicionales. De forma predeterminada, ToolStripPanel no aparece en el Cuadro de herramientas del diseñador, pero puede colocarlo allí si hace clic con el botón secundario en el Cuadro de herramientas y, a continuación, hace clic en Elegir elementos. También puede obtener acceso mediante programación a ToolStripPanel como cualquier otra clase.

ToolStrip, MenuStrip y StatusStrip permiten el desbordamiento de elementos. Esto es similar a la manera en que estos elementos se comportan en las barras de herramientas de Microsoft Office.

Vea también

Referencia

Información sobre el control ToolStrip (formularios Windows Forms)

Conceptos

Arquitectura del control ToolStrip