This documentation is archived and is not being maintained.

Menu.MenuItemCollection.CopyTo Method

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.


ICollection.CopyTo(Array, Int32)

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

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.