Compartir a través de


Cómo: Insertar un MenuStrip en un menú MDI Drop-Down (Windows Forms)

En algunas aplicaciones, el tipo de una ventana secundaria de interfaz de varios documentos (MDI) puede ser diferente de la ventana primaria de MDI. Por ejemplo, la ventana principal MDI podría ser una hoja de cálculo y la ventana secundaria MDI podría ser un gráfico. En ese caso, quiere actualizar el contenido del menú primario de MDI con el contenido del menú secundario de MDI a medida que se activan 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ú secundario MDI en la sección desplegable del menú primario MDI. Al cerrar la ventana secundaria de MDI, se quitan los elementos de menú insertados de la ventana principal MDI.

Para insertar un MenuStrip en un menú desplegable MDI

  1. Cree un formulario y establezca su IsMdiContainer propiedad 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 a Form1MenuStrip y establezca su Text propiedad en &File.

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

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

  6. Agregue un formulario al proyecto, añada un MenuStrip al formulario y establezca la propiedad AllowMerge de Form2MenuStrip en true.

  7. Agregue un elemento de menú de nivel superior a Form2MenuStrip y establezca su Text propiedad en &File.

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

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

    Elemento de menú Form2 Valor de acción de fusión Valor de mergeIndex
    Archivo MatchOnly -1
    Separador Insertar 2
    Guardar Insertar 3
    Guardar y cerrar Insertar 4
    Separador Insertar 5
  10. Cree un controlador de eventos para el Click evento de &OpenToolStripMenuItem.

  11. En el controlador de eventos, inserte código similar al ejemplo de código siguiente para crear y mostrar nuevas instancias de Form2 como elementos secundarios MDI 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
    
    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. Coloque 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

Este ejemplo requiere:

Consulte también