Comment : insérer un MenuStrip dans un menu déroulant MDI (Windows Forms)

Dans certaines applications, le type d'une fenêtre enfant d'interface multidocument (MDI) peut être différent de celui de la fenêtre parente MDI. Par exemple, le parent MDI peut être une feuille de calcul et l'enfant MDI un graphique. Dans ce cas, vous souhaitez mettre à jour le contenu du menu du parent MDI avec le contenu du menu de l'enfant MDI à mesure que des fenêtres enfants MDI de types différents sont activées.

La procédure suivante utilise les propriétés et MergeActionAllowMergeMergeIndex les IsMdiContainerpropriétés pour insérer un groupe d’éléments de menu du menu enfant MDI dans la partie déroulante du menu parent MDI. La fermeture de la fenêtre enfant MDI supprime les éléments de menu insérés du parent MDI.

Pour insérer un MenuStrip dans un menu déroulant MDI

  1. Créez un formulaire et affectez la valeur true à sa propriété IsMdiContainer.

  2. Ajoutez un MenuStrip à Form1 et affectez la valeur true à la propriété AllowMerge du MenuStrip.

  3. Ajoutez un élément de menu de niveau supérieur au MenuStrip de Form1 et affectez la valeur &File à sa propriété Text.

  4. Ajoutez trois sous-éléments à l’élément &File de menu et définissez leurs Text propriétés sur &Open, &Import fromet E&xit.

  5. Ajoutez deux éléments de sous-menu à l’élément &Import from de sous-menu et définissez leurs Text propriétés sur &Word et &Excel.

  6. Ajoutez un formulaire au projet, ajoutez un MenuStrip au formulaire et affectez la valeur true à la propriété AllowMerge du MenuStrip de Form2.

  7. Ajoutez un élément de menu de niveau supérieur au MenuStrip de Form2 et affectez la valeur &File à sa propriété Text.

  8. Ajoutez des éléments de sous-menu au &File menu de Form2 l’ordre suivant : a ToolStripSeparator, , &Save, Save and &Closeet un autre ToolStripSeparator.

  9. Définissez les propriétés et MergeIndex les MergeAction propriétés des éléments de Form2 menu, comme indiqué dans le tableau suivant.

    Élément de menu Form2 Valeur MergeAction Valeur MergeIndex
    Fichier MatchOnly -1
    Séparateur Insérer 2
    Enregistrer Insérer 3
    Enregistrer et fermer Insérer 4
    Séparateur Insérer 5
  10. Créez un gestionnaire d'événements pour l'événement Click du ToolStripMenuItem de &Open.

  11. Dans le gestionnaire d'événements, insérez du code semblable à l'exemple de code suivant pour créer et afficher de nouvelles instances de Form2 en tant qu'enfants 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. Insérez du code similaire à l'exemple de code suivant dans le &OpenToolStripMenuItem pour inscrire le gestionnaire d'événements.

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

Compilation du code

Cet exemple nécessite :

Voir aussi