Tutorial: Crear un formulario MDI con combinación de menús y controles ToolStrip
El espacio de nombres System.Windows.Forms admite aplicaciones de interfaz de múltiples documentos (MDI) y el control MenuStrip admite la combinación de menús. Los formularios MDI también pueden utilizar controles ToolStrip.
Este tutorial muestra cómo utilizar los controles ToolStripPanel con un formulario MDI. El formulario también admite la combinación de menús con menús secundarios. En este tutorial se muestran las tareas siguientes:
Crear un proyecto de formularios Windows Forms.
Crear el menú principal del formulario. El nombre real del menú varía.
Agregar el control ToolStripPanel al Cuadro de herramientas.
Crear un formulario secundario.
Organizar controles ToolStripPanel por orden z
Cuando termine, dispondrá de un formulario MDI que admite la combinación de menús y controles ToolStrip móviles.
Para copiar el código de este tema como un listado sencillo, vea Cómo: Crear un formulario MDI con combinación de menús y controles ToolStrip.
Nota
Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de los valores de configuración o de edición activos. 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.
Requisitos previos
Para poder completar este tutorial, necesitará:
- Permisos necesarios para poder crear y ejecutar proyectos de aplicación de Windows Forms en el equipo donde esté instalado Visual Studio.
Crear el proyecto
El primer paso es crear el proyecto y configurar el formulario.
Para crear el proyecto
Cree un proyecto de aplicación para Windows denominado MdiForm.
Para obtener más información, vea Cómo: Crear un nuevo proyecto de aplicación de Windows Forms.
En el Diseñador de Windows Forms, seleccione el formulario.
En la ventana Propiedades, establezca el valor de IsMdiContainer en true.
Crear el menú principal
El formulario MDI principal contiene el menú principal. El menú principal tiene un elemento de menú denominado Ventana. Con el elemento de menú Ventana, puede crear formularios secundarios. Los elementos de menú de los formularios secundarios se combinan en el menú principal.
Para crear el menú principal
En el Cuadro de herramientas, arrastre un control MenuStrip hasta el formulario.
Agregue un objeto ToolStripMenuItem al control MenuStrip y asígnele el nombre Ventana.
Seleccione el control MenuStrip.
En la ventana Propiedades, establezca el valor de la propiedad MdiWindowListItem en ToolStripMenuItem1.
Agregue un subelemento al elemento de menú Ventana y, a continuación, asígnele el nombre Nuevo.
En la ventana Propiedades, haga clic en Eventos.
Haga doble clic en el evento Click.
El Diseñador de Windows Forms genera un controlador de eventos para el evento Click.
Inserte el código siguiente en el controlador de eventos.
' This method creates a new ChildForm instance ' and attaches it to the MDI parent form. Private Sub newToolStripMenuItem_Click( _ ByVal sender As Object, _ ByVal e As EventArgs) _ Handles newToolStripMenuItem.Click Dim f As New ChildForm() f.MdiParent = Me f.Text = "Form - " + Me.MdiChildren.Length.ToString() f.Show() End Sub
// This method creates a new ChildForm instance // and attaches it to the MDI parent form. private void newToolStripMenuItem_Click(object sender, EventArgs e) { ChildForm f = new ChildForm(); f.MdiParent = this; f.Text = "Form - " + this.MdiChildren.Length.ToString(); f.Show(); }
Agregar el control ToolStripPanel al Cuadro de herramientas
Cuando utiliza los controles MenuStrip con un formulario MDI que debe tener el control ToolStripPanel. Debe agregar el control ToolStripPanel al Cuadro de herramientas para incorporar el formulario MDI en el Diseñador de Windows Forms.
Para agregar el control ToolStripPanel al Cuadro de herramientas
Abra el Cuadro de herramientas y haga clic en la ficha Todos los formularios Windows Forms para mostrar los controles de formularios Windows Forms disponibles.
Haga clic con el botón secundario para abrir el menú contextual y seleccione Elegir elementos.
En el cuadro de diálogo Elegir elementos del cuadro de herramientas, desplácese hacia abajo por la columna Nombre hasta que encuentre ToolStripPanel.
Active la casilla al lado de ToolStripPanel y, a continuación, haga clic en Aceptar.
Aparecerá el control ToolStripPanel en el Cuadro de herramientas.
Crear un formulario secundario
En este procedimiento, definirá una clase de formulario secundario independiente que tiene su propio control MenuStrip. Los elementos de menú para este formulario se combinan con aquéllos del formulario principal.
Para definir un formulario secundario
Agregue un nuevo formulario denominado ChildForm al proyecto.
Para obtener más información, vea Cómo: Agregar formularios Windows Forms a un proyecto.
En el Cuadro de herramientas, arrastre un control MenuStrip hasta el formulario secundario.
Haga clic en el glifo de etiqueta inteligente () del control MenuStrip y, a continuación, seleccione Editar elementos.
En el cuadro de diálogo Editor de la colección de elementos, agregue un nuevo objeto ToolStripMenuItem denominado ChildMenuItem en el menú secundario.
Para obtener más información, vea Editor de la colección de elementos ToolStrip.
Comprobar el formulario
Para probar el formulario
Presione F5 para compilar y ejecutar el formulario.
Haga clic en el elemento de menú Ventana para abrir el menú y, a continuación, haga clic en Nuevo.
Se creará un nuevo formulario secundario en el área de cliente MDI del formulario. Se combinará el menú del formulario secundario con el menú principal.
Cierre el formulario secundario.
Se quitará el menú del formulario secundario del menú principal.
Haga clic varias veces en Nuevo.
Se mostrarán automáticamente los formularios secundarios bajo el elemento de menú Ventana porque se asigna la propiedad MdiWindowListItem del control MenuStrip.
Agregar compatibilidad con ToolStrip
En este procedimiento, agregará cuatro controles ToolStrip al formulario MDI principal. Cada control ToolStrip se agrega dentro de un control ToolStripPanel, que se acopla al borde del formulario.
Para agregar controles ToolStrip al formulario MDI principal
En el Cuadro de herramientas, arrastre un control ToolStripPanel hasta el formulario.
Con el control ToolStripPanel seleccionado, haga doble clic en el control ToolStrip del Cuadro de herramientas.
Se creará un control ToolStrip en el control ToolStripPanel.
Seleccione el control ToolStripPanel.
En la ventana Propiedades, cambie el valor de la propiedad del control Dock a Left.
El control ToolStripPanel se acoplará al lateral izquierdo del formulario, bajo el menú principal. El área de cliente MDI cambiará el tamaño para adaptarse al control ToolStripPanel.
Repita del paso 1 al 4.
Acople el nuevo control ToolStripPanel a la parte superior del formulario.
El control ToolStripPanel se acoplará bajo el menú principal, pero a la derecha del primer control ToolStripPanel. Este paso muestra la importancia del orden z para colocar correctamente los controles ToolStripPanel.
Repita los pasos del 1 al 4 para dos controles ToolStripPanel más.
Acople los nuevos controles ToolStripPanel al borde derecho e inferior del formulario.
Organizar los controles ToolStripPanel por orden z
La posición de un control ToolStripPanel acoplado en el formulario MDI viene determinada por la posición del control en el orden z. Puede organizar con facilidad el orden z de los controles en la ventana Esquema del documento.
Para organizar los controles ToolStripPanel por orden z
En el menú Ver, haga clic en Otras ventanas y, a continuación, en Esquema del documento.
La disposición de los controles ToolStripPanel del procedimiento anterior no es estándar. Esto es porque el orden z no es correcto. Utilice la ventana Esquema del documento para cambiar el orden z de los controles.
En la ventana Esquema del documento, seleccione ToolStripPanel4.
Haga clic repetidamente en el botón de flecha abajo hasta que ToolStripPanel4 esté en la parte inferior de la lista.
El control ToolStripPanel4 se acoplará a la parte inferior del formulario, bajo los otros controles.
Seleccione ToolStripPanel2.
Haga clic en el botón de flecha abajo un vez para colocar el control el tercero de la lista.
El control ToolStripPanel2 se acoplará a la parte superior del formulario, bajo el menú principal y sobre los otros controles.
Seleccione los distintos controles de la ventana Esquema del documento y desplácelos a posiciones diferentes en el orden z. Tenga en cuenta el efecto del orden z en la posición de controles acoplados. Utilice CTRL-Z o Deshacer en el menú Editar para deshacer los cambios.
Punto de control
Para probar el formulario
Presione F5 para compilar y ejecutar el formulario.
Haga clic en el control de agarre de un control ToolStrip y arrastre el control a posiciones diferentes en el formulario.
Puede arrastrar un control ToolStrip de un control ToolStripPanel a otro.
Pasos siguientes
En este tutorial, ha creado un formulario MDI principal con controles ToolStrip y combinación de menús. Puede utilizar la familia ToolStrip de controles para muchos otros propósitos:
Crear menús contextual para los controles con ContextMenuStrip. Para obtener más información, vea Información general sobre ContextMenu (Componente, formularios Windows Forms).
Formulario creado con un menú estándar rellenado automáticamente. Para obtener más información, vea Tutorial: Proporcionar elementos de menú estándar a un formulario.
Proporcionar a los controles ToolStrip un aspecto profesional. Para obtener más información, vea Cómo: Establecer la representación de ToolStrip para una aplicación.
Vea también
Tareas
Cómo: Crear formularios principales MDI
Cómo: Crear formularios MDI secundarios
Cómo: Insertar un elemento MenuStrip en un menú desplegable MDI (formularios Windows Forms)