Menu.MenuItemCollection.Add Method (Int32, MenuItem)

Adds a previously created MenuItem at the specified index within the menu item collection.

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

public virtual int Add (
	int index,
	MenuItem item
public int Add (
	int index, 
	MenuItem item
public function Add (
	index : int, 
	item : MenuItem
) : int



The position to add the new item.


The MenuItem to add.

Return Value

The zero-based index where the item is stored in the collection.

Exception typeCondition


The MenuItem being added is already in use.


The index supplied in the index parameter is larger than the size of the collection.

A MenuItem can only be contained in one menu at a time, and cannot be added more than once to the same menu. To reuse a MenuItem in more than one menu, use the CloneMenu method of the MenuItem class. To remove a MenuItem that you have previously added, use the Remove method.

This version of the Add method allows you to add previously created MenuItem objects to a specific index location within the collection. Any MenuItem currently located at that index, and all MenuItem objects after that index, are moved to the next lowest index in the collection.

The following code example creates an instance of the derived class, MainMenu, and adds a MenuItem object to its collection of MenuItem objects at a specific location in the menu item collection. This example requires that the method defined in this example is located within the class for a form and called by a method in that form class.

private void InitializeMyMainMenu()
   // Create the MainMenu and the MenuItem to add.
   MainMenu mainMenu1 = new MainMenu();
   MenuItem menuItem1 = new MenuItem("&File");
   /* Use the MenuItems property to call the Add method
      to add the MenuItem to mainMenu1 at specific index. */
   mainMenu1.MenuItems.Add (0, menuItem1);

   // Assign mainMenu1 to the form.
   this.Menu = mainMenu1;

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

.NET Framework

Supported in: 2.0, 1.1, 1.0

Community Additions