This documentation is archived and is not being maintained.

Menu.MenuItemCollection.Add Method (String, EventHandler)

Adds a new MenuItem to the end of the current menu with a specified caption and a specified event handler for the Click event.

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

public virtual MenuItem Add(
	string caption,
	EventHandler onClick


Type: System.String
The caption of the menu item.
Type: System.EventHandler
An EventHandler that represents the event handler that is called when the item is clicked by the user, or when a user presses an accelerator or shortcut key for the menu item.

Return Value

Type: System.Windows.Forms.MenuItem
A MenuItem that represents the menu item being added to 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 specify a caption for the menu item and a delegate to handle the Click event. You can use this version of the Add method if your application already has an event handler to handle the Click event.


The Click event is not raised for a MenuItem that contains submenu items.

The following code example uses the derived class MainMenu to create a main menu, mainMenu1, that has two MenuItem objects added to its MenuItems collection. The code uses this version of the Add method to define an event handler for the Click event of the second menu item added to the collection. The code then assigns mainMenu1 to the Menu property of the Form. This example requires that the code defined in this example is located within a form.

private void InitializeMyMainMenu()
   // Create the MainMenu.
   MainMenu mainMenu1 = new MainMenu();

   /* Use the MenuItems property to call the Add method
      to add two new MenuItem objects to the MainMenu. */
   mainMenu1.MenuItems.Add ("&File");
   mainMenu1.MenuItems.Add ("&Edit", new EventHandler (menuItem2_Click));

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

private void menuItem2_Click(System.Object sender, System.EventArgs e)
   // Insert code to handle Click event.

.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.