Menu.MenuItemCollection.CopyTo Method (Array, Int32)


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

Copies the entire collection into an existing array at a specified location within the array.

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

public void CopyTo(
	Array dest,
	int index


Type: System.Array

The destination array.

Type: System.Int32

The index in the destination array at which storing begins.

You can use this method to combine MenuItem objects from multiple collections into a single array. This feature enables you to easily combine two or more sets of menu items for use in a ContextMenu or MainMenu.

The following code example creates an array and copies the Menu.MenuItemCollection objects from two MenuItem objects into the array. The example then copies the array of MenuItem objects into the control collection for a ContextMenu named contextMenu1. This example requires that there are two MenuItem objects that contain submenu items named menuItem1 and menuItem2.

private void CopyMyMenus()
   // Create empty array to store MenuItem objects.
   MenuItem[] myItems = 
      new MenuItem[menuItem1.MenuItems.Count + menuItem2.MenuItems.Count];

   // Copy elements of the first MenuItem collection to array.
   menuItem1.MenuItems.CopyTo(myItems, 0);
   // Copy elements of the second MenuItem collection, after the first set.
   menuItem2.MenuItems.CopyTo(myItems, myItems.Length);

   // Add the array to the menu item collection of the ContextMenu.

.NET Framework
Available since 1.1
Return to top