Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Retrieves the first index of a specific item in the collection.
Namespace: Microsoft.SharePoint.WebPartPages
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Available in Sandboxed Solutions: No
Syntax
'Declaration
Public Function IndexOf ( _
menuItem As MenuItem _
) As Integer
'Usage
Dim instance As MenuItemCollection
Dim menuItem As MenuItem
Dim returnValue As Integer
returnValue = instance.IndexOf(menuItem)
public int IndexOf(
MenuItem menuItem
)
Parameters
menuItem
Type: Microsoft.SharePoint.WebPartPages.MenuItemThe MenuItem object that you want to locate within a collection.
Return Value
Type: System.Int32
Int32 value that represents the first index location of the specified MenuItem object.
Examples
The following code example creates a custom menu that has one parent menu item and two submenu items. It uses the IndexOf method to determine where a particular menu item appears 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