Compartir a través de


Cómo: Insertar un elemento MenuStrip en un menú desplegable MDI (formularios Windows Forms)

Actualización: noviembre 2007

En algunas aplicaciones, el tipo de ventana secundaria de la interfaz de múltiples documentos (MDI) puede ser diferente al de la ventana primaria de MDI. Por ejemplo, el elemento primario de MDI podría ser una hoja de cálculo y el elemento secundario de MDI podría ser un gráfico. En ese caso, desea actualizar el contenido del menú del elemento primario de MDI con el contenido del menú del elemento secundario de MDI ya que están activadas las ventanas secundarias MDI de diferentes tipos.

El siguiente procedimiento utiliza las propiedades IsMdiContainer, AllowMerge, MergeAction y MergeIndex para insertar un grupo de elementos de menú desde el menú del elemento secundario de MDI en la parte desplegable del menú del elemento primario de MDI. Al cerrar la ventana secundaria de MDI, se quita el menú insertado del elemento primario de MDI.

Para insertar un MenuStrip en un menú desplegable de MDI

  1. Cree un formulario y establezca su propiedad IsMdiContainer en true.

  2. Agregue un MenuStrip a Form1 y establezca la propiedad AllowMerge de MenuStrip en true.

  3. Agregue un elemento de menú de nivel superior al Form1 de MenuStrip y establezca su propiedad Text en &File.

  4. Agregue tres elementos de submenú al elemento de menú &File y establezca sus propiedades Text en &Open, &Import from y E&xit.

  5. Agregue dos elementos de submenú al elemento de submenú &Import from y establezca sus propiedades Text en &Word y &Excel.

  6. Agregue un formulario al proyecto, agregue MenuStrip al formulario y establezca la propiedad AllowMerge del Form2 de MenuStrip en true.

  7. Agregue un elemento de menú de nivel superior al Form2 de MenuStrip y establezca su propiedad Text en &File.

  8. Agregue los elementos de submenú al menú &File de Form2 en el orden siguiente: ToolStripSeparator, &Save, &Closeand Save y otro ToolStripSeparator.

  9. Establezca las propiedades MergeAction y MergeIndex de los elementos de menú deForm2 tal como se muestra en la tabla siguiente.

    Elemento de menú de Form2

    valor de MergeAction

    valor de MergeIndex

    Archivo

    MatchOnly

    -1

    Separator

    Insert

    2

    Guardar

    Insert

    3

    Guardar y cerrar

    Insert

    4

    Separator

    Insert

    5

  10. Agregue un controlador de eventos para el evento Click del botón &OpenToolStripMenuItem.

  11. Dentro del controlador de eventos, inserte el código de ejemplo siguiente para crear y mostrar nuevas instancias de Form2 como formulario MDI secundario de Form1.

    Private Sub openToolStripMenuItem_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles openToolStripMenuItem.Click
        Dim NewMDIChild As New Form2()
        'Set the parent form of the child window.
            NewMDIChild.MdiParent = Me
        'Display the new form.
            NewMDIChild.Show()
    End Sub
    

    [C#]

    private void openToolStripMenuItem_Click(object sender, EventArgs e)
    {
        Form2 newMDIChild = new Form2();
        // Set the parent form of the child window.
            newMDIChild.MdiParent = this;
        // Display the new form.
            newMDIChild.Show();
    }
    
  12. Copie el código similar al ejemplo de código siguiente en &OpenToolStripMenuItem para registrar el controlador de eventos.

    Private Sub openToolStripMenuItem_Click(sender As Object, e As _
    EventArgs) Handles openToolStripMenuItem.Click
    
    this.openToolStripMenuItem.Click += new System.EventHandler(this.openToolStripMenuItem_Click);
    

Compilar el código

Para este ejemplo se necesita:

Vea también

Tareas

Cómo: Crear formularios principales MDI

Cómo: Crear formularios MDI secundarios

Referencia

Información general sobre el control MenuStrip (formularios Windows Forms)