Combinar elementos de menú en el control MenuStrip de formularios Windows Forms
Actualización: noviembre 2007
Si tiene una aplicación MDI (interfaz de múltiples documentos), puede combinar elementos de menú o menús completos del formulario secundario en los menús del formulario principal.
En este tema se describen los conceptos básicos relativos a la combinación de elementos de menú en una aplicación MDI.
Conceptos generales
En los procedimientos de combinación se utiliza un control de destino y un control de origen:
El destino es el control MenuStrip del formulario MDI principal en el que se van a combinar elementos de menú.
El origen es el control MenuStrip del formulario MDI secundario que contiene los elementos de menú que desea combinar en el menú de destino.
La propiedad MdiWindowListItem identifica el elemento de menú cuya lista desplegable se va a rellenar con los títulos de los elementos secundarios MDI del formulario MDI principal actual. Por ejemplo, los elementos MDI secundarios actualmente abiertos se suelen mostrar en el menú Ventana.
La propiedad IsMdiWindowListEntry identifica qué elementos de menú proceden de MenuStrip en un formulario MDI secundario.
Puede combinar los elementos de menú manual o automáticamente. Los elementos de menú se combinan de la misma manera en ambos métodos, pero la combinación se activa de forma diferente, como se explica en las secciones "Combinación manual" y "Combinación automática" más adelante en este tema. Tanto en la combinación manual como en la automática, cada acción de combinación afecta a la acción de combinación siguiente.
La combinación de MenuStrip mueve elementos de menú de un ToolStrip a otro en lugar de clonarlos, como ocurre con MainMenu.
Valores de MergeAction
La acción de combinación de los elementos de menú se define en el MenuStrip de origen mediante la propiedad MergeAction.
En la tabla siguiente se ofrece una descripción y se indica el uso común de las acciones de combinación disponibles.
Valor de MergeAction |
Descripción |
Uso típico |
---|---|---|
(Valor predeterminado) Agrega el elemento de origen al final de la colección del elemento de destino. |
Agregar elementos de menú al final del menú cuando se activa alguna parte del programa. |
|
Agrega el elemento de origen a la colección del elemento de destino, en la ubicación especificada por la propiedad MergeIndex definida en el elemento de origen. |
Agregar elementos de menú a la parte central o al principio del menú cuando se activa alguna parte del programa. Si el valor de MergeIndex es el mismo para ambos elementos de menú, se agregan en orden inverso. Establezca correctamente MergeIndex para mantener el orden original. |
|
Busca una coincidencia de texto o el valor de MergeIndex si no encuentra ninguna y, a continuación, reemplaza el elemento de menú de destino coincidente con el elemento de menú de origen. |
Reemplazar un elemento de menú de destino con un elemento de menú de origen del mismo nombre que hace algo diferente. |
|
Busca una coincidencia de texto o utiliza el valor de MergeIndex si no encuentra ninguna, y, a continuación, agrega todos los elementos desplegables del origen al destino. |
Generar una estructura de menús que inserta o agrega elementos de menú a un submenú, o quitar elementos de menú de un submenú. Por ejemplo, puede agregar un elemento de menú de un menú secundario MDI a un menú principal MenuStripGuardar como. MatchOnly permite desplazarse por la estructura de menús sin realizar ninguna acción. Proporciona un modo de evaluar los elementos siguientes. |
|
Busca una coincidencia de texto o utiliza el valor de MergeIndex si no encuentra ninguna, y, a continuación, quita el elemento del destino. |
Quitar un elemento de menú del MenuStrip de destino. |
Combinación manual
Sólo se pueden utilizar los controles MenuStrip en la combinación automática. Para combinar los elementos de otros controles, como los controles ToolStrip y StatusStrip, debe combinarlos manualmente llamando a los métodos Merge y RevertMerge en el código según se precise.
Combinación automática
Puede utilizar la combinación automática para las aplicaciones MDI activando el formulario de origen. Para utilizar MenuStrip en una aplicación MDI, establezca la propiedad MainMenuStrip en el MenuStrip de destino, de forma que las acciones de combinación realizadas en el MenuStrip de origen se reflejen en el MenuStrip de destino.
Puede iniciar la combinación automática activando el MenuStrip en el formulario MDI de origen. Al activarlo, el MenuStrip de origen se combina con el formulario MDI de destino. Cuando se activa un nuevo formulario, la combinación se revierte en el último formulario y se inicia en el nuevo. Puede controlar este comportamiento estableciendo la propiedad MergeAction en cada ToolStripItem según sea necesario y estableciendo la propiedad AllowMerge en cada MenuStrip.
Vea también
Tareas
Cómo: Crear una lista de ventanas MDI con MenuStrip (formularios Windows Forms)
Cómo: Configurar la combinación automática de menús para aplicaciones MDI