Partager via


Comment : ajouter un MenuStrip à une fenêtre parente 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 IsMdiContainer, AllowMerge, MergeAction et MergeIndex pour ajouter le menu MDI enfant au menu MDI parent. La fermeture de la fenêtre MDI enfant supprime le menu ajouté du MDI parent.

Consultez également les applications MDI (Multiple-Document Interface).

Pour ajouter un élément à un menu MDI parent

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

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

  3. Affectez la valeur Visible à la propriété Form1 du MenuStrip de false.

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

  5. Ajoutez un élément de sous-menu à l'élément de menu &File et affectez la valeur Text à la propriété &Open.

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

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

  8. Ajoutez deux éléments de sous-menu à l'élément de menu &Special et affectez respectivement les valeurs Text et Command&1 à leur propriété Command&2.

  9. Affectez la valeur MergeAction à la propriété &Special des éléments de menu Command&1, Command&2 et Append.

  10. Créez un gestionnaire d’événements pour l’événement Click du &OpenToolStripMenuItem.

  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 :