Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

Menu.MenuItemCollection.CopyTo Method

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

[Visual Basic]
Public Overridable Sub CopyTo( _
   ByVal dest As Array, _
   ByVal index As Integer _
) Implements ICollection.CopyTo
[C#]
public virtual void CopyTo(
 Array dest,
 int index
);
[C++]
public: virtual void CopyTo(
 Array* dest,
 int index
);
[JScript]
public function CopyTo(
   dest : Array,
 index : int
);

Parameters

dest
The destination array.
index
The index in the destination array at which storing begins.

Implements

ICollection.CopyTo

Remarks

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.

Example

[Visual Basic, C#, C++] The following example creates an array and copies the Menu.MenuItemCollection objects from two MenuItem objects into the array. The example then copies the the array of MenuItem objects into the control collection for a ContextMenu named contextMenu1. This example assumes that there are two MenuItem objects that contain submenu items named menuItem1 and menuItem2.

[Visual Basic] 
Private Sub CopyMyMenus()
    ' Create empty array to store MenuItem objects.
    Dim myItems(menuItem1.MenuItems.Count + menuItem2.MenuItems.Count) As MenuItem
       
    ' 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)
End Sub


[C#] 
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.
   contextMenu1.MenuItems.AddRange(myItems);
}


[C++] 
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.
   contextMenu1->MenuItems->AddRange(myItems);
}

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

See Also

Menu.MenuItemCollection Class | Menu.MenuItemCollection Members | System.Windows.Forms Namespace

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.