Menu::MenuItemCollection::CopyTo Method (Array^, Int32)

 

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:
virtual void CopyTo(
	Array^ dest,
	int index
) sealed

Parameters

dest
Type: System::Array^

The destination array.

index
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.
      array<MenuItem^>^ myItems = gcnew array<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.
      contextMenu1->MenuItems->AddRange( myItems );
   }

.NET Framework
Available since 1.1
Return to top
Show: