Метод MenuItemCollection.IndexOf
Извлекает первый индекс определенного элемента в коллекции.
Пространство имен: Microsoft.SharePoint.WebPartPages
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
Public Function IndexOf ( _
menuItem As MenuItem _
) As Integer
'Применение
Dim instance As MenuItemCollection
Dim menuItem As MenuItem
Dim returnValue As Integer
returnValue = instance.IndexOf(menuItem)
public int IndexOf(
MenuItem menuItem
)
Параметры
menuItem
Тип: Microsoft.SharePoint.WebPartPages.MenuItemОбъект MenuItem , который требуется найти в коллекции.
Возвращаемое значение
Тип: System.Int32
значение Int32 , представляющее индекс первого объекта указанного MenuItem .
Примеры
В следующем примере кода создается пользовательское меню с двумя элементами вложенного меню и один родительский элемент меню. Он использует метод IndexOf для определения, где определенного пункта меню отображается в пользовательском меню.
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