Partager via


Comment : supprimer un ToolStripMenuItem d'un menu déroulant MDI (Windows Forms)

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

La procédure suivante utilise les propriétés IsMdiContainer, AllowMerge, MergeAction et MergeIndex pour supprimer un élément de menu de la partie déroulante du menu MDI parent. La fermeture de la fenêtre MDI enfant restaure les éléments de menu supprimés du menu MDI parent.

Pour supprimer un MenuStrip d'un menu déroulant MDI

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

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

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

  4. Ajoutez trois éléments de sous-menu à l'élément de menu &File et affectez à leurs propriétés Text les valeurs &Open, &Import from et E&xit.

  5. Ajoutez deux éléments de sous-menu à l'élément de sous-menu &Import from et affectez à leurs propriétés Text les valeurs &Word et &Excel.

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

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

  8. Ajoutez un élément de sous-menu &Import from au menu &File de Form2 et ajoutez un élément de sous-menu &Word au menu &File.

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

    Élément de menu Form2

    Valeur MergeAction

    Valeur MergeIndex

    Fichier

    MatchOnly

    -1

    Import from

    MatchOnly

    -1

    Word

    Remove

    -1

  10. Dans Form1, créez un gestionnaire d'événements pour l'événement Click de l'élément &Open ToolStripMenuItem.

  11. Dans le gestionnaire d'événements, créez et affichez de nouvelles instances de Form2 en tant qu'enfants MDI de Form1 en insérant un code similaire à celui-ci :

    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. Insérez un code similaire à l'exemple de code suivant dans &Open ToolStripMenuItem 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 les éléments suivants :

Voir aussi

Tâches

Comment : créer des formulaires MDI parents

Comment : créer des formulaires MDI enfants

Référence

Vue d'ensemble du contrôle MenuStrip (Windows Forms)