Guide pratique pour insérer un MenuStrip dans un menu MDI Drop-Down (Windows Forms)
Dans certaines applications, le type d'une fenêtre enfant MDI (Interface Multi-documents) 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 peut être un graphique. Dans ce cas, vous souhaitez mettre à jour le contenu du menu du parent MDI avec celui du menu de l’enfant MDI, lorsque des fenêtres enfants MDI de différents types sont activées.
La procédure suivante utilise les propriétés IsMdiContainer, AllowMerge, MergeActionet MergeIndex pour insérer un groupe d’éléments de menu à partir 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
Créez un formulaire et définissez sa propriété IsMdiContainer sur
true
.Ajoutez un MenuStrip à
Form1
et définissez la propriété AllowMerge du MenuStrip surtrue
.Ajoutez un élément de menu de niveau supérieur au
Form1
MenuStrip et définissez sa propriété Text sur&File
.Ajoutez trois sous-éléments au menu
&File
et définissez leurs propriétés de Text sur&Open
,&Import from
etE&xit
.Ajoutez deux sous-éléments à l'élément de sous-menu
&Import from
et définissez leurs propriétés Text à&Word
et&Excel
.Ajoutez un formulaire au projet, ajoutez un MenuStrip au formulaire et définissez la propriété AllowMerge du
Form2
MenuStrip surtrue
.Ajoutez un élément de menu de niveau supérieur au
Form2
MenuStrip et définissez sa propriété Text sur&File
.Ajoutez des éléments de sous-menu au menu
&File
deForm2
dans l’ordre suivant : un ToolStripSeparator,&Save
,Save and &Close
et un autre ToolStripSeparator.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 de MergeAction Indice de fusion Valeur Fichier MatchOnly -1 Séparateur Insérer 2 Sauvegarder Insérer 3 Enregistrer et fermer Insérer 4 Séparateur Insérer 5 Créez un gestionnaire d’événements pour l’événement Click du
&Open
ToolStripMenuItem.Dans le gestionnaire d’événements, insérez du code similaire à l’exemple de code suivant pour créer et afficher de nouvelles instances de
Form2
en tant qu’enfants MDI deForm1
.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(); }
Placez le code similaire à l’exemple de code suivant dans l'
&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 :
Deux contrôles Form nommés
Form1
etForm2
.Contrôle MenuStrip sur
Form1
nommémenuStrip1
et un contrôle MenuStrip surForm2
nommémenuStrip2
.Références aux assemblages System et System.Windows.Forms.
Voir aussi
.NET Desktop feedback