Arquitectura del control ToolStrip
Las clases ToolStrip y ToolStripItem proporcionan un sistema flexible y extensible para mostrar elementos de menú, estado y barras de herramientas. Estas clases están todas en el espacio de nombres System.Windows.Forms y su nombre lleva normalmente el prefijo "ToolStrip" (como ToolStripOverflow) o el sufijo "Strip" (como MenuStrip).
ToolStrip
En los temas siguientes se explican la clase ToolStrip y los controles que derivan de ella.
ToolStrip es la clase base abstracta de MenuStrip, StatusStrip y ContextMenuStrip. El modelo de objetos siguiente muestra la jerarquía de herencia de ToolStrip.
Modelo de objetos ToolStrip
Se puede obtener acceso a todos los elementos de ToolStrip a través de la colección Items. Se puede obtener acceso a todos los elementos de un control ToolStripDropDownItem a través de la colección DropDownItems. En una clase derivada de ToolStrip, también puede utilizar la propiedad DisplayedItems para obtener sólo acceso a los elementos que se muestran actualmente. Éstos son los elementos que no están actualmente en un menú de desbordamiento.
Los elementos siguientes están diseñados específicamente para trabajar sin problemas con ToolStripSystemRenderer y ToolStripProfessionalRenderer en todas las orientaciones. Están disponibles de forma predeterminada en tiempo de diseño para el control ToolStrip:
MenuStrip
MenuStrip es el contenedor de nivel superior que reemplaza a MainMenu. También proporciona las características de control de claves y de interfaz de múltiples documentos (MDI). Funcionalmente, ToolStripDropDownItem y ToolStripMenuItem operan junto con MenuStrip, aunque se derivan de ToolStripItem.
Los elementos siguientes están diseñados específicamente para trabajar sin problemas con ToolStripSystemRenderer y ToolStripProfessionalRenderer en todas las orientaciones. Están disponibles de forma predeterminada en tiempo de diseño para el control MenuStrip:
StatusStrip
StatusStrip reemplaza el control StatusBar. Las características especiales de StatusStrip incluyen un diseño de tabla personalizada, compatibilidad con controles de cambio de tamaño y desplazamiento de formularios y la propiedad Spring, que permite que ToolStripStatusLabel rellene automáticamente el espacio disponible.
Los elementos siguientes están diseñados específicamente para trabajar sin problemas con ToolStripSystemRenderer y ToolStripProfessionalRenderer en todas las orientaciones. Están disponibles de forma predeterminada en tiempo de diseño para el control StatusStrip:
ContextMenuStrip
ContextMenuStrip reemplaza ContextMenu. Puede asociar ContextMenuStrip a cualquier control, y un clic con el botón secundario del mouse muestra automáticamente el menú contextual. También es posible mostrar un objeto ContextMenuStrip mediante programación utilizando el método Show. ContextMenuStrip admite eventos Closing y Opening, que se pueden cancelar, para controlar escenarios de relleno dinámico y uso de varios clic. ContextMenuStrip admite imágenes, el estado de activación de elementos de menú, texto, teclas de acceso, accesos directos y menús en cascada.
Los elementos siguientes están diseñados específicamente para trabajar sin problemas con ToolStripSystemRenderer y ToolStripProfessionalRenderer en todas las orientaciones. Están disponibles de forma predeterminada en tiempo de diseño para el control ContextMenuStrip:
Características genéricas de ToolStrip
En los temas siguientes se describen las características y el comportamiento que son genéricos de ToolStrip y los controles derivados.
Dibujo
Puede dibujar de forma personalizada en los controles ToolStrip de varias maneras. Como ocurre con otros controles de formularios Windows Forms, tanto ToolStrip como ToolStripItem tienen métodos OnPaint y eventos Paint que se pueden reemplazar. Como con el dibujo normal, el sistema de coordenadas es relativo al área de cliente del control; es decir, la esquina superior izquierda del control es 0, 0. El evento Paint y el método OnPaint de un control ToolStripItem se comportan como otros eventos de dibujo de controles.
Los controles ToolStrip también proporcionan un acceso más preciso a la representación de los elementos y el contenedor, por medio de la clase ToolStripRenderer, que tiene métodos reemplazables para dibujar el fondo, el fondo del elemento, la imagen del elemento, la flecha del elemento, el texto del elemento y el borde de ToolStrip. Los argumentos de evento de estos métodos exponen varias propiedades como rectángulos, colores y formatos de texto que puede ajustar como desee.
Para ajustar sólo algunos aspectos de cómo se dibuja un elemento, normalmente se reemplaza la clase ToolStripRenderer.
Si escribe un nuevo elemento y desea controlar todos los aspectos del dibujo, reemplace el método OnPaint. Desde el interior de OnPaint, puede utilizar los métodos de ToolStripRenderer.
De forma predeterminada, ToolStrip tiene un búfer doble y saca partido de la configuración de OptimizedDoubleBuffer.
Relación jerárquica
El concepto de propiedad de los contenedores y relación jerárquica es más complicado en los controles ToolStrip que en otros controles de contenedor de formularios Windows Forms. Esto es necesario para la compatibilidad con escenarios dinámicos como el desbordamiento, para compartir elementos desplegables entre varios elementos de ToolStrip y para admitir la generación de ContextMenuStrip desde un control.
En la lista siguiente se describen los miembros relacionados con la relación jerárquica y se explica su uso.
OwnerItem obtiene acceso al elemento que es el origen del elemento desplegable. Es similar a SourceControl, pero en lugar de devolver un control, devuelve ToolStripItem.
SourceControl determina qué control es el origen de ContextMenuStrip cuando varios controles comparten la misma ContextMenuStrip.
GetCurrentParent es un descriptor de acceso de sólo lectura para la propiedad Parent. Un elemento primario difiere de un propietario en que el elemento primario denota la ToolStrip actual devuelta en la que se muestra el elemento, que podría estar en el área de desbordamiento.
Owner devuelve la ToolStrip cuya colección Items contiene la ToolStripItem actual. Ésta es la mejor manera de hacer referencia a ImageList o a otras propiedades en la ToolStrip de nivel superior sin escribir un código especial para controlar el desbordamiento.
Comportamiento de los controles heredados
Los controles siguientes se bloquean cada vez que se utilizan en herencia:
ToolStripPanel que incluye los paneles de un ToolStripContainer y también los controles ToolStripPanel individuales.
Por ejemplo, cree una aplicación nueva de formularios Windows Forms que use uno o más de los controles de la lista anterior. Establezca el modificador de acceso de uno o varios controles en public o protected y, a continuación, compile el proyecto. Agregue un formulario que herede del primer formulario y, a continuación, seleccione un control heredado. El control aparece bloqueado y se comporta como si su modificador de acceso fuera private.
Compatibilidad de ToolStripContainer con la herencia
El control ToolStripContainer admite escenarios heredados limitados, como en el ejemplo siguiente:
Cree una nueva aplicación para formularios Windows Forms.
Agregue un control ToolStripContainer al formulario.
Establezca el modificador de acceso de ToolStripContainer en public o protected.
Agregue una combinación de los controles ToolStrip, MenuStrip y ContextMenuStrip a las regiones ToolStripPanel de ToolStripContainer.
Compile el proyecto.
Agregue un formulario que herede del primer formulario.
Seleccione el ToolStripContainer heredado en el formulario.
Comportamiento heredado de los controles secundarios
Después de finalizar los pasos anteriores, el comportamiento heredado es el siguiente:
En el diseñador, el control aparece con un icono heredado.
Se bloquean los controles ToolStripPanel; no puede seleccionar ni reorganizar su contenido.
Puede agregar controles a ToolStripContentPanel, mover los controles y convertirlos en controles secundarios de ToolStripContentPanel.
Los cambios que efectúe permanecerán después de compilar el formulario.
Nota
Quite los modificadores de acceso de todos los controles ToolStripPanel que formen parte de un ToolStripContainer. El modificador de acceso de ToolStripContainer gobierna el control entero.
Confianza parcial
Las limitaciones de ToolStrip bajo confianza parcial están diseñadas para evitar la entrada inadvertida de datos personales que puedan ser utilizados por personas o servicios sin autorización. Las medidas de protección son las siguientes:
Los controles ToolStripDropDown requieren que AllWindows muestre los elementos en un ToolStripControlHost. Esto es aplicable tanto a los controles intrínsecos, por ejemplo, ToolStripTextBox, ToolStripComboBox y ToolStripProgressBar, como a los controles creados por el usuario. Si no se cumple este requisito, no se muestran estos elementos. No se produce ninguna excepción.
No se puede establecer la propiedad AutoClose en false y el parámetro de evento cancelable Closing se omite. A causa de esto, no es posible presionar más de una tecla sin que se cierre el elemento desplegable. Si no se cumple este requisito, no se muestran estos elementos. No se produce ninguna excepción.
No se provocan muchos eventos de control de pulsación de tecla si se producen en contextos de confianza parcial distintos de AllWindows.
Las teclas de acceso no se procesan si no se dispone del permiso AllWindows.
Uso
Los modelos de uso siguientes inciden en el diseño de ToolStrip, la interacción con el teclado y el comportamiento de usuario final:
Se une en un ToolStripPanel
ToolStrip se puede cambiar de posición en ToolStripPanel y en los controles ToolStripPanel. La propiedad Dock se omite y, si la propiedad Stretch es false, el tamaño de ToolStrip aumenta cuando se agregan elementos a ToolStripPanel. Normalmente, ToolStrip no participa en el orden de tabulación.
Acoplado
ToolStrip se coloca en un lado de un contenedor en una posición fija y su tamaño se expande sobre el borde completo en el que se acopla. Normalmente, ToolStrip no participa en el orden de tabulación.
En posición absoluta
ToolStrip se parece a otros controles, en cuanto que lo coloca la propiedad Location, tiene un tamaño fijo y normalmente participa en el orden de tabulación.
Interacción del teclado
Teclas de acceso
Las teclas de acceso, presionadas a la vez que la tecla ALT o después de esta, ofrecen una manera de activar un control mediante el teclado. ToolStrip admite las teclas de acceso explícitas e implícitas. La definición explícita utiliza un carácter & (Y comercial) que precede a la letra. La definición implícita utiliza un algoritmo que intenta encontrar un elemento correspondiente basándose en el orden de los caracteres en una propiedad Text determinada.
Teclas de método abreviado
Las teclas de método abreviado utilizadas por una clase MenuStrip definen la tecla de método abreviado mediante una combinación de la enumeración Keys (sin orden específico). También puede utilizar la propiedad ShortcutKeyDisplayString para mostrar una tecla de método abreviado con sólo texto, por ejemplo, mostrar "Supr" en lugar de "Suprimir."
Navegación
La tecla ALT activa el MenuStrip al que señala MainMenuStrip. Desde allí, CTRL+TAB navega entre los controles ToolStrip que se encuentren en los ToolStripPanel. La tecla TAB y las teclas de dirección del teclado numérico permiten navegar entre los elementos de ToolStrip. Un algoritmo especial controla la navegación en el área de desbordamiento. La BARRA ESPACIADORA selecciona un control ToolStripButton, ToolStripDropDownButton o ToolStripSplitButton.
Foco y validación
Cuando la tecla ALT los activa, MenuStrip o ToolStrip normalmente no quitan ni ponen el foco en el control que esté seleccionado. Si hay un control hospedado en el contenedor de objetos MenuStrip o un control desplegable del objeto MenuStrip, el control obtiene el foco cuando el usuario presiona la tecla TAB. En general, puede que los eventos GotFocus, LostFocus, Enter y Leave de MenuStrip no se generen si se activan con el teclado. En tales casos, utilice en su lugar los eventos MenuActivate y MenuDeactivate.
De manera predeterminada, CausesValidation es false. Llame explícitamente a Validate en el formulario para realizar la validación.
Diseño
Puede controlar el diseño de ToolStrip eligiendo uno de los miembros de ToolStripLayoutStyle con la propiedad LayoutStyle.
Diseños de pila
El apilamiento consiste en la disposición de los elementos uno al lado de otro a ambos extremos del contenedor de objetos ToolStrip. La lista siguiente describe los diseños de pila.
El valor predeterminado es StackWithOverflow. Esta configuración hace que el contenedor ToolStrip modifique automáticamente su diseño de acuerdo con la propiedad Orientation para controlar las situaciones de arrastre y acoplamiento.
VerticalStackWithOverflow representa los elementos ToolStrip uno al lado de otro verticalmente.
HorizontalStackWithOverflow representa los elementos ToolStrip uno al lado de otro horizontalmente.
Otras características de los diseños de pila
Alignment determina el fin del contenedor ToolStrip con el que se alinea el elemento.
Cuando los productos no caben en el contenedor ToolStrip, aparece automáticamente un botón de desbordamiento. El valor de la propiedad Overflow determina si un elemento aparecerá siempre en el área de desbordamiento, cuando sea necesario, o nunca.
En el evento LayoutCompleted, puede inspeccionar la propiedad Placement para determinar si un elemento se ha colocado en el contenedor ToolStrip principal, en el contenedor ToolStrip de desbordamiento, o si actualmente no se muestra en absoluto. Las razones típicas de que un elemento no se muestre son que el elemento no quepa en el ToolStrip principal y que su propiedad Overflow esté establecida en Never.
Haga que un objeto ToolStrip sea movible colocándolo en un contenedor ToolStripPanel y establezca su propiedad GripStyle en Visible.
Otras opciones de diseño
Las otras opciones de diseño son Flow y Table.
Diseño de flujo
El diseño de Flow es el valor predeterminado de los controles ContextMenuStrip, ToolStripDropDownMenu y ToolStripOverflow. Es similar al panel FlowLayoutPanel. A continuación se detallan las características del diseño de Flow:
La propiedad LayoutSettings expone todas las características de la clase FlowLayoutPanel. Debe convertir la clase LayoutSettings a una clase FlowLayoutSettings.
Puede utilizar las propiedades Dock y Anchor en el código para alinear los elementos dentro de la fila.
Se omite la propiedad Alignment.
En el evento LayoutCompleted, puede examinar la propiedad Placement para determinar si se ha colocado un elemento en el contenedor ToolStrip principal o no ha cabido.
No se representa el control y por consiguiente no se puede mover un objeto ToolStrip de estilo de diseño Flow en un panel ToolStripPanel.
No se representa el botón de desbordamiento ToolStrip y se omite [lapropiedadP:System.Windows.Forms.ToolStripItem.Overflow].
Diseño de tabla
El diseño de Table es el valor predeterminado de StatusStrip. Es similar a TableLayoutPanel. A continuación se detallan las características del diseño de Flow:
La propiedad LayoutSettings expone todas las características de la clase TableLayoutPanel. Debe convertir la clase LayoutSettings a una clase TableLayoutSettings.
Puede utilizar las propiedades Dock y Anchor en el código para alinear los elementos dentro de la celda de la tabla.
Se omite la propiedad Alignment.
En el evento LayoutCompleted, puede examinar la propiedad Placement para determinar si se ha colocado un elemento en el contenedor ToolStrip principal o no ha cabido.
El control de ajuste no está representado y, por consiguiente, no se puede desplazar una ToolStrip en el estilo de diseño Table de un ToolStripPanel.
El botón de desbordamiento ToolStrip no está representado y Overflow se omite.
ToolStripItem
En los temas siguientes se explican la clase ToolStripItem y los controles que derivan de ella.
ToolStripItem es la clase base abstracta para todos los elementos que entran en ToolStrip. El modelo de objetos siguiente muestra la jerarquía de herencia de ToolStripItem.
Modelo de objetos ToolStripItem
Las clases ToolStripItem heredan directamente de ToolStripItem o indirectamente de ToolStripItem a través de ToolStripControlHost o ToolStripDropDownItem.
Los controles ToolStripItem se deben contener en ToolStrip, MenuStrip, StatusStrip o ContextMenuStrip y no se deben agregar directamente a un formulario. Las diversas clases de contenedor están diseñadas para contener un subconjunto adecuado de controles ToolStripItem.
La tabla siguiente muestra los controles ToolStripItem estándar y los contenedores en los que se ven mejor. Si bien cualquier elemento de ToolStrip puede hospedarse en un contenedor derivado de ToolStrip, estos elementos se ven mejor en los contenedores siguientes:
Nota
ToolStripDropDown no aparece en el cuadro de herramientas de diseñador.
Elemento que contiene |
ToolStrip |
MenuStrip |
ContextMenuStrip |
StatusStrip |
ToolStripDropDown |
---|---|---|---|---|---|
Sí |
No |
No |
No |
Sí |
|
Sí |
Sí |
Sí |
No |
Sí |
|
Sí |
No |
No |
Sí |
Sí |
|
Sí |
No |
No |
Sí |
Sí |
|
Sí |
Sí |
Sí |
No |
Sí |
|
Sí |
No |
No |
Sí |
Sí |
|
Sí |
Sí |
Sí |
No |
Sí |
|
No |
Sí |
Sí |
No |
No |
|
No |
No |
No |
Sí |
No |
|
Sí |
No |
No |
Sí |
No |
|
Sí |
Sí |
No |
Sí |
Sí |
ToolStripButton
ToolStripButton es el elemento de botón para ToolStrip. Puede mostrarlo con varios estilos de borde y puede utilizarlo para representar y activar estados operacionales. También puede definirlo para que obtenga el foco de forma predeterminada.
ToolStripLabel
ToolStripLabel proporciona la funcionalidad de las etiquetas en los controles ToolStrip. ToolStripLabel es parecido a un ToolStripButton que no recibe el foco de forma predeterminada y que no se representa como presionado ni resaltado.
ToolStripLabel, como elemento hospedado, admite las teclas de acceso.
Use las propiedades LinkColor, LinkVisited y LinkBehavior de ToolStripLabel para admitir el control de vinculación en un ToolStrip.
ToolStripStatusLabel
ToolStripStatusLabel es una versión de ToolStripLabel diseñada específicamente para el uso en StatusStrip. Entre sus características especiales destacan BorderStyle, BorderSides y Spring.
ToolStripSeparator
ToolStripSeparator agrega una línea vertical u horizontal a una barra de herramientas o de menú, dependiendo de la orientación. Proporciona un medio para agrupar o distinguir elementos, como los de un menú.
Puede agregar un ToolStripSeparator en tiempo de diseño eligiéndolo en una lista desplegable. También puede crear automáticamente un ToolStripSeparator escribiendo un guión (-) en el nodo de plantilla de diseñador o en el método Add.
ToolStripControlHost
ToolStripControlHost es la clase base abstracta de ToolStripComboBox, ToolStripTextBox y ToolStripProgressBar. ToolStripControlHost puede hospedar otros controles, incluso controles personalizados, de dos maneras:
Construir un ToolStripControlHost con una clase que derive de Control. Para tener acceso total al control y las propiedades hospedados, debe volver a convertir la propiedad Control en la clase real que representa.
Extender ToolStripControlHost y, en el constructor predeterminado de la clase heredada, llamar al constructor de clase base pasando una clase que derive de Control. Esta opción permite ajustar los métodos de control comunes y propiedades para obtener fácilmente acceso en un control ToolStrip.
ToolStripComboBox
ToolStripComboBox es el ComboBox optimizado para el hospedaje en ToolStrip. Un subconjunto de las propiedades y eventos del control hospedado se expone en el nivel ToolStripComboBox, pero el control ComboBox subyacente es totalmente accesible por medio de la propiedad ComboBox.
ToolStripTextBox
ToolStripTextBox es el TextBox optimizado para el hospedaje en ToolStrip. Un subconjunto de las propiedades y eventos del control hospedado se expone en el nivel ToolStripTextBox, pero el control TextBox subyacente es totalmente accesible por medio de la propiedad TextBox.
ToolStripProgressBar
ToolStripProgressBar es el ProgressBar optimizado para el hospedaje en ToolStrip. Un subconjunto de las propiedades y eventos del control hospedado se expone en el nivel ToolStripProgressBar, pero el control ProgressBar subyacente es totalmente accesible por medio de la propiedad ProgressBar.
ToolStripDropDownItem
ToolStripDropDownItem es la clase base abstracta para ToolStripMenuItem, ToolStripDropDownButton y ToolStripSplitButton, que puede hospedar elementos directamente u hospedar elementos adicionales en un contenedor desplegable. Para ello, establezca la propiedad DropDown en un ToolStripDropDown y establezca la propiedad Items del ToolStripDropDown. Puede obtener acceso directamente a estos elementos desplegables por medio de la propiedad DropDownItems.
ToolStripMenuItem
ToolStripMenuItem es un ToolStripDropDownItem que, junto con ToolStripDropDownMenu y ContextMenuStrip, permite controlar el resaltado especial, el diseño y la organización en columnas de los menús.
ToolStripDropDownButton
ToolStripDropDownButton se parece a ToolStripButton, pero muestra un área desplegable cuando el usuario hace clic en él. Para ocultar o mostrar la flecha desplegable, establezca la propiedad ShowDropDownArrow. ToolStripDropDownButton hospeda un ToolStripOverflowButton que muestra los elementos que desbordan ToolStrip.
ToolStripSplitButton
ToolStripSplitButton combina las funcionalidades de botón y de botón de lista desplegable.
La propiedad DefaultItem permite sincronizar el evento Click del elemento desplegable elegido con el elemento mostrado en el botón.
Características genéricas de ToolStripItem
ToolStripItem proporciona las opciones y las características genéricas siguientes a los controles que se heredan:
Eventos básicos
Control de la imagen
Alineación
Relación entre texto e imagen
Estilo de presentación
Eventos básicos
Los controles ToolStripItem reciben eventos propios de clic, mouse y dibujo, y también pueden realizar el preprocesamiento de teclado.
Control de la imagen
Las propiedades Image, ImageAlign, ImageIndex, ImageKey y ImageScaling corresponden a varios aspectos del control de la imagen. Utilice imágenes en los controles ToolStrip estableciendo estas propiedades directamente o la propiedad ImageList únicamente en tiempo de ejecución.
El ajuste de escala de imágenes está determinado por la interacción de propiedades en ToolStrip y en ToolStripItem, del siguiente modo:
ImageScalingSize es la escala de la imagen final, según determina la combinación del valor de ImageScaling de la imagen y el valor de AutoSize del contenedor.
Si AutoSize es true (el valor predeterminado) y ToolStripItemImageScaling es SizeToFit, no se ajusta la escala de la imagen y el tamaño de ToolStrip es el del elemento más grande o un tamaño mínimo indicado.
Si AutoSize es false y ToolStripItemImageScaling es None, no se ajusta la escala de la imagen ni de ToolStrip.
Alineación
El valor de la propiedad Alignment determina el extremo de ToolStrip en el que aparece un elemento. La propiedad Alignment sólo funciona cuando el estilo de diseño de ToolStrip está establecido en uno de los valores de desbordamiento de pila.
Los elementos se colocan en ToolStrip en el orden en el que aparecen en la colección Items. Para cambiar mediante programación la ubicación donde se dispone un elemento, utilice el método Insert para mover el elemento en la colección. Este método mueve el elemento pero no lo duplica.
Relación entre texto e imagen
La propiedad TextImageRelation define la posición relativa de la imagen con respecto al texto en un ToolStripItem. Los elementos que carecen de imagen, texto o ambos se tratan como casos especiales para que ToolStripItem no muestre una zona vacía para el elemento o elementos que faltan.
Estilo de presentación
DisplayStyle permite establecer los valores de las propiedades Text e Image de un elemento para que sólo muestren lo que se desee. Por lo general, esto se utiliza para cambiar solamente el estilo de presentación cuando el mismo elemento se muestra en un contexto diferente.
Clases de accesorios
Las clases que proporcionan otras funcionalidades incluyen:
ToolStripManager admite tareas relacionadas con ToolStrip para aplicaciones completas, como combinación, configuración y opciones de representación.
ToolStripRenderer permite aplicar con facilidad un estilo o tema determinado a ToolStrip.
ToolStripProfessionalRenderer crea los lápices y pinceles basándose en una tabla de colores reemplazable (ProfessionalColorTable).
ToolStripSystemRenderer aplica colores de sistema y un estilo visual plano a las aplicaciones ToolStrip.
ToolStripContainer es similar a SplitContainer. Utiliza cuatro paneles laterales acoplados (instancias de ToolStripPanel) y un panel central (una instancia de ToolStripContentPanel) para crear una organización habitual. No se pueden quitar los paneles laterales, pero se pueden ocultar. No se puede quitar ni ocultar el panel central. Puede disponer uno o varios controles ToolStrip, MenuStrip o StatusStrip en los paneles laterales y utilizar el panel central para otros controles. ToolStripContentPanel también facilita compatibilidad con el representador en el cuerpo del formulario para obtener una apariencia coherente. ToolStripContainer no admite la interfaz de múltiples documentos (MDI).
ToolStripPanel proporciona el espacio para desplazar y organizar los controles ToolStrip. Puede utilizar sólo un panel si lo desea y ToolStripPanel es apropiada para los escenarios de MDI.
Vea también
Referencia
Información sobre el control ToolStrip (formularios Windows Forms)
Conceptos
Resumen de la tecnología ToolStrip
Otros recursos
ToolStrip (Control de formularios Windows Forms)