MenuItemCollection.Insert Method
Adds a previously created MenuItem at the specified index within the menu item collection.
Namespace: Microsoft.SharePoint.WebPartPages
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Available in Sandboxed Solutions: No
Syntax
'Declaration
Public Sub Insert ( _
index As Integer, _
value As MenuItem _
)
'Usage
Dim instance As MenuItemCollection
Dim index As Integer
Dim value As MenuItem
instance.Insert(index, value)
public void Insert(
int index,
MenuItem value
)
Parameters
index
Type: System.Int32The location in the collection to add the menu item.
value
Type: Microsoft.SharePoint.WebPartPages.MenuItemThe MenuItem object to add to the collection.
Examples
The following code example creates a custom menu that has one parent menu item and two submenu items. It uses the Insert method to add the menu item into a specific place within the custom menu.
public override void CreateWebPartMenu()
{
// Declare variables for menu items.
MenuItem ParentItem;
MenuItem Item1;
MenuItem Item2;
// Create three menu items:
// One parent item, and two submenu items.
// Create the parent item.
ParentItem = new MenuItem("ParentItem", "", "ParentItemID");
// Create a submenu item with a server event on click.
Item1 = new MenuItem("Item1", "Item1ID", new EventHandler(EventHandlerForItem1));
// Create a submenu item with a client event on click.
Item2 = new MenuItem("Item2", "javascript:alert('Item2 was clicked');", "Item2ID");
// Add the submenu items to the parent item.
ParentItem.MenuItems.Add(Item1);
ParentItem.MenuItems.Add(Item2);
// Add the parent item after the "Modify Shared/Personal Web Part"
// command in the default menu.
// Retrieve the index of the "Modify Shared/Personal Web Part"
// command.
int EditIndex = this.WebPartMenu.MenuItems.IndexOf(this.WebPartMenu.MenuItems.ItemFromID("MSOMenu_Edit"));
// Insert the parent item after the "Modify Shared/Personal Web Part" command.
this.WebPartMenu.MenuItems.Insert(EditIndex + 1, ParentItem);
// Add a separator above the parent item.
ParentItem.BeginSection = true;
// Check the "ParentItemIsVisible" custom boolean property to
// decide whether to display the parent menu.
if (this.ParentItemIsVisible == true)
{
ParentItem.Visible = true;
}
else
{
ParentItem.Visible = false;
}
// Check the "EnableItem1" custom boolean property to decide which
// menu item to enable.
// within the parent item.
if (this.EnableItem1 == true)
{
Item1.Enabled=true;
Item2.Enabled=false;
}
else
{
Item1.Enabled=false;
Item2.Enabled=true;
}
}
Public Overrides Sub CreateWebPartMenu()
' Declare variables for menu items.
Dim ParentItem As MenuItem
Dim Item1 As MenuItem
Dim Item2 As MenuItem
' Create three menu items:
' One parent item, and two submenu items.
' Create the parent item.
ParentItem = New MenuItem("ParentItem", "", "ParentItemID")
' Create a submenu item with a server event on click.
Item1 = New MenuItem("Item1", "Item1ID", New EventHandler(AddressOf EventHandlerForItem1))
' Create a submenu item with a client event on click.
Item2 = New MenuItem("Item2", "javascript:alert('Item2 was clicked');", "Item2ID")
' Add the submenu items to the parent item.
ParentItem.MenuItems.Add(Item1)
ParentItem.MenuItems.Add(Item2)
' Add the parent item after the "Modify Shared/Personal Web Part"
' command in the default menu.
' Retrieve the index of the "Modify Shared/Personal Web Part"
' command.
Dim EditIndex As Integer = Me.WebPartMenu.MenuItems.IndexOf(Me.WebPartMenu.MenuItems.ItemFromID("MSOMenu_Edit"))
' Insert the parent item after the "Modify Shared/Personal Web Part" command.
Me.WebPartMenu.MenuItems.Insert(EditIndex + 1, ParentItem)
' Add a separator above the parent item.
ParentItem.BeginSection = True
' Check the "ParentItemIsVisible" custom boolean property to
' decide whether to display the parent menu.
If Me.ParentItemIsVisible = True Then
ParentItem.Visible = True
Else
ParentItem.Visible = False
End If
' Check the "EnableItem1" custom boolean property to decide which
' menu item to enable.
' within the parent item.
If Me.EnableItem1 = True Then
Item1.Enabled=True
Item2.Enabled=False
Else
Item1.Enabled=False
Item2.Enabled=True
End If
End Sub