MenuMerge Enumeration


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Specifies the behavior of a MenuItem when it is merged with items in another menu.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public enum MenuMerge

Member nameDescription

The MenuItem is added to the collection of existing MenuItem objects in a merged menu.


All submenu items of this MenuItem are merged with those of existing MenuItem objects at the same position in a merged menu.


The MenuItem is not included in a merged menu.


The MenuItem replaces an existing MenuItem at the same position in a merged menu.

Use the members of this enumeration to set the value of the MergeType property of the MenuItem.

The following example uses this version of the MergeMenu method to create a copy of a MenuItem and merge it with another. The merged MenuItem is then added to a ContextMenu control. This example assumes that there are two menu items called menuItem1 and menuItem2 that contain submenu items within them and a ContextMenu named contextMenu1 to display the menu items. menuItem1 and menuItem2 have different menu items contained within them. After the call to MergeMenu is made, a consolidated menu is created.

private void MergeMyMenus()
   // Set the merge type to merge the items from both top menu items.
   menuItem1.MergeType = MenuMerge.MergeItems;
   menuItem2.MergeType = MenuMerge.MergeItems;
   // Create a copy of my menu item.
   MenuItem tempMenuItem = new MenuItem();
   // Create a copy of menuItem1 before doing the merge.
   tempMenuItem = menuItem1.CloneMenu();
   // Merge menuItem1's copy with a clone of menuItem2

   // Add the merged menu to the ContextMenu control.

.NET Framework
Available since 1.1
Return to top