Partager via


Fusion d'éléments de menu dans le contrôle MenuStrip Windows Forms

Si vous disposez d’une application MDI (multidocument interface), vous pouvez fusionner des éléments de menu ou des menus entiers du formulaire enfant dans les menus du formulaire parent.

Cette rubrique décrit les concepts de base associés à la fusion d’éléments de menu dans une application MDI.

Concepts généraux

Les procédures de fusion impliquent à la fois une cible et un contrôle de code source :

  • La cible est le MenuStrip contrôle sur le formulaire parent principal ou MDI dans lequel vous fusionnez des éléments de menu.

  • La source est le MenuStrip contrôle du formulaire enfant MDI qui contient les éléments de menu que vous souhaitez fusionner dans le menu cible.

La MdiWindowListItem propriété identifie l’élément de menu dont vous allez remplir la liste déroulante avec les titres des enfants MDI parents actuels du formulaire MDI. Par exemple, vous répertoriez généralement les enfants MDI actuellement ouverts dans le menu Fenêtre .

La IsMdiWindowListEntry propriété identifie les éléments de menu provenant d’un MenuStrip formulaire enfant MDI.

Vous pouvez fusionner manuellement ou automatiquement des éléments de menu. Les éléments de menu fusionnent de la même façon pour les deux méthodes, mais la fusion est activée différemment, comme indiqué dans les sections « Fusion manuelle » et « Fusion automatique » plus loin dans cette rubrique. Dans la fusion manuelle et automatique, chaque action de fusion affecte l’action de fusion suivante.

MenuStrip la fusion déplace les éléments de menu d’un ToolStrip à l’autre plutôt que de les cloner, comme c’était le cas avec MainMenu.

Valeurs MergeAction

Vous définissez l’action de fusion sur les éléments de menu de la source MenuStrip à l’aide de la MergeAction propriété.

Le tableau suivant décrit la signification et l’utilisation classique des actions de fusion disponibles.

Valeur MergeAction Description Utilisation courante
Append (Par défaut) Ajoute l’élément source à la fin de la collection de l’élément cible. Ajout d’éléments de menu à la fin du menu quand une partie du programme est activée.
Insert Ajoute l’élément source à la collection de l’élément cible, à l’emplacement spécifié par la MergeIndex propriété définie sur l’élément source. Ajout d’éléments de menu au milieu ou au début du menu quand une partie du programme est activée.

Si la valeur est MergeIndex identique pour les deux éléments de menu, elles sont ajoutées dans l’ordre inverse. Définissez MergeIndex correctement pour conserver l’ordre d’origine.
Replace Recherche une correspondance de texte ou utilise la MergeIndex valeur si aucune correspondance de texte n’est trouvée, puis remplace l’élément de menu cible correspondant par l’élément de menu source. Remplacement d’un élément de menu cible par un élément de menu source du même nom que celui qui fait quelque chose de différent.
MatchOnly Recherche une correspondance de texte ou utilise la MergeIndex valeur si aucune correspondance de texte n’est trouvée, puis ajoute tous les éléments déroulants de la source à la cible. Création d’une structure de menu qui insère ou ajoute des éléments de menu dans un sous-menu, ou supprime des éléments de menu d’un sous-menu. Par exemple, vous pouvez ajouter un élément de menu d’un enfant MDI à un menu d’enregistrement principalMenuStrip.

MatchOnly vous permet de parcourir la structure de menu sans effectuer d’action. Il permet d’évaluer les éléments suivants.
Remove Recherche une correspondance de texte ou utilise la MergeIndex valeur si aucune correspondance de texte n’est trouvée, puis supprime l’élément de la cible. Suppression d’un élément de menu de la cible MenuStrip.

Fusion manuelle

Seuls MenuStrip les contrôles participent à la fusion automatique. Pour combiner les éléments d’autres contrôles, tels que ToolStrip et StatusStrip contrôles, vous devez les fusionner manuellement en appelant les méthodes et RevertMerge les Merge méthodes dans votre code en fonction des besoins.

Fusion automatique

Vous pouvez utiliser la fusion automatique pour les applications MDI en activant le formulaire source. Pour utiliser une MenuStrip application MDI, définissez la MainMenuStrip propriété sur la cible MenuStrip afin que les actions de fusion effectuées sur la source MenuStrip soient reflétées dans la cible MenuStrip.

Vous pouvez déclencher la fusion automatique en activant la MenuStrip source MDI. Lors de l’activation, la source MenuStrip est fusionnée dans la cible MDI. Lorsqu’un nouveau formulaire devient actif, la fusion est rétablie sur le dernier formulaire et déclenchée sur le nouveau formulaire. Vous pouvez contrôler ce comportement en définissant la MergeAction propriété selon les besoins sur chaque ToolStripItemet en définissant la AllowMerge propriété sur chaque MenuStrip.

Voir aussi