MenuItemCollection Klasa

Definicja

Reprezentuje kolekcję elementów menu w Menu kontrolce.Represents a collection of menu items in a Menu control. Klasa ta nie może być dziedziczona.This class cannot be inherited.

public ref class MenuItemCollection sealed : System::Collections::ICollection, System::Web::UI::IStateManager
public sealed class MenuItemCollection : System.Collections.ICollection, System.Web.UI.IStateManager
type MenuItemCollection = class
    interface ICollection
    interface IEnumerable
    interface IStateManager
Public NotInheritable Class MenuItemCollection
Implements ICollection, IStateManager
Dziedziczenie
MenuItemCollection
Implementuje

Przykłady

Poniższy przykład kodu demonstruje sposób wypełniania Items kolekcji i ChildItems przy użyciu składni deklaratywnej.The following code example demonstrates how to populate the Items and ChildItems collections using declarative syntax.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

  <!-- For the hover styles of the Menu control to  -->
  <!-- work correctly, you must include this head   -->
  <!-- element.                                     -->
  <head runat="server">
    <title>Menu Declarative Example</title>
</head>

  <body>
    <form id="form1" runat="server">
    
      <h3>Menu Declarative Example</h3>
    
      <!-- Use declarative syntax to create the   -->
      <!-- menu structure. Submenu items are      -->
      <!-- created by nesting them in parent menu -->
      <!-- items.                                 -->
      <asp:menu id="NavigationMenu"
        disappearafter="2000"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        font-names="Arial" 
        target="_blank"  
        runat="server">
        
        <staticmenuitemstyle backcolor="LightSteelBlue"
          forecolor="Black"/>
        <statichoverstyle backcolor="LightSkyBlue"/>
        <dynamicmenuitemstyle backcolor="Black"
          forecolor="Silver"/>
        <dynamichoverstyle backcolor="LightSkyBlue"
          forecolor="Black"/>
      
        <items>
          <asp:menuitem navigateurl="Home.aspx" 
            text="Home"
            tooltip="Home">
            <asp:menuitem navigateurl="Music.aspx"
              text="Music"
              tooltip="Music">
              <asp:menuitem navigateurl="Classical.aspx" 
                text="Classical"
                tooltip="Classical"/>
              <asp:menuitem navigateurl="Rock.aspx"
                text="Rock"
                tooltip="Rock"/>
              <asp:menuitem navigateurl="Jazz.aspx"
                text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem navigateurl="Movies.aspx"
              text="Movies"
              tooltip="Movies">
              <asp:menuitem navigateurl="Action.aspx"
                text="Action"
                tooltip="Action"/>
              <asp:menuitem navigateurl="Drama.aspx"
                text="Drama"
                tooltip="Drama"/>
              <asp:menuitem navigateurl="Musical.aspx"
                text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>
      
      </asp:menu>

    </form>
  </body>
</html>


<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

  <!-- For the hover styles of the Menu control to  -->
  <!-- work correctly, you must include this head   -->
  <!-- element.                                     -->
  <head runat="server">
    <title>Menu Declarative Example</title>
</head>

  <body>
    <form id="form1" runat="server">
    
      <h3>Menu Declarative Example</h3>
    
      <!-- Use declarative syntax to create the   -->
      <!-- menu structure. Submenu items are      -->
      <!-- created by nesting them in parent menu -->
      <!-- items.                                 -->
      <asp:menu id="NavigationMenu"
        disappearafter="2000"
        staticdisplaylevels="2"
        staticsubmenuindent="10" 
        orientation="Vertical"
        font-names="Arial" 
        target="_blank"  
        runat="server">
        
        <staticmenuitemstyle backcolor="LightSteelBlue"
          forecolor="Black"/>
        <statichoverstyle backcolor="LightSkyBlue"/>
        <dynamicmenuitemstyle backcolor="Black"
          forecolor="Silver"/>
        <dynamichoverstyle backcolor="LightSkyBlue"
          forecolor="Black"/>
      
        <items>
          <asp:menuitem navigateurl="Home.aspx" 
            text="Home"
            tooltip="Home">
            <asp:menuitem navigateurl="Music.aspx"
              text="Music"
              tooltip="Music">
              <asp:menuitem navigateurl="Classical.aspx" 
                text="Classical"
                tooltip="Classical"/>
              <asp:menuitem navigateurl="Rock.aspx"
                text="Rock"
                tooltip="Rock"/>
              <asp:menuitem navigateurl="Jazz.aspx"
                text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem navigateurl="Movies.aspx"
              text="Movies"
              tooltip="Movies">
              <asp:menuitem navigateurl="Action.aspx"
                text="Action"
                tooltip="Action"/>
              <asp:menuitem navigateurl="Drama.aspx"
                text="Drama"
                tooltip="Drama"/>
              <asp:menuitem navigateurl="Musical.aspx"
                text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>
      
      </asp:menu>

    </form>
  </body>
</html>

Poniższy przykład kodu demonstruje, jak programowo dodać MenuItem obiekt ChildItems do kolekcji elementu menu głównego.The following code example demonstrates how to programmatically add a MenuItem object to the ChildItems collection of a root menu item.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    
  void Page_Load(Object sender, EventArgs e)
  {
    if (!IsPostBack)
    {
      // Retrieve the root menu item from the Items
      // collection of the Menu control using the indexer.
      MenuItem homeMenuItem = NavigationMenu.Items[0];

      // Create the submenu item.
      MenuItem newSubMenuItem = new MenuItem("New Category");

      // Add the submenu item to the ChildItems
      // collection of the root menu item.
      homeMenuItem.ChildItems.Add(newSubMenuItem);
    }
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemCollection Add Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemCollection Add Example</h3>
    
      <asp:menu id="NavigationMenu"
        orientation="Vertical"
        target="_blank" 
        runat="server">
        
        <items>
          <asp:menuitem text="Home"
            tooltip="Home">
            <asp:menuitem text="Music"
              tooltip="Music">
              <asp:menuitem text="Classical"
                tooltip="Classical"/>
              <asp:menuitem text="Rock"
                tooltip="Rock"/>
              <asp:menuitem text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem text="Movies"
              tooltip="Movies">
              <asp:menuitem text="Action"
                tooltip="Action"/>
              <asp:menuitem text="Drama"
                tooltip="Drama"/>
              <asp:menuitem text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>

      </asp:menu>

    </form>
  </body>
</html>


<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    
  Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

    If Not IsPostBack Then

      ' Retrieve the root menu item from the Items
      ' collection of the Menu control using the indexer.
      Dim homeMenuItem As MenuItem = NavigationMenu.Items(0)

      ' Create the submenu item.
      Dim newSubMenuItem = New MenuItem("New Category")

      ' Add the submenu item to the ChildItems
      ' collection of the root menu item.
      homeMenuItem.ChildItems.Add(newSubMenuItem)
    
    End If
      
  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemCollection Add Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemCollection Add Example</h3>
    
      <asp:menu id="NavigationMenu"
        orientation="Vertical"
        target="_blank" 
        runat="server">
        
        <items>
          <asp:menuitem text="Home"
            tooltip="Home">
            <asp:menuitem text="Music"
              tooltip="Music">
              <asp:menuitem text="Classical"
                tooltip="Classical"/>
              <asp:menuitem text="Rock"
                tooltip="Rock"/>
              <asp:menuitem text="Jazz"
                tooltip="Jazz"/>
            </asp:menuitem>
            <asp:menuitem text="Movies"
              tooltip="Movies">
              <asp:menuitem text="Action"
                tooltip="Action"/>
              <asp:menuitem text="Drama"
                tooltip="Drama"/>
              <asp:menuitem text="Musical"
                tooltip="Musical"/>
            </asp:menuitem>
          </asp:menuitem>
        </items>

      </asp:menu>

    </form>
  </body>
</html>

Uwagi

Klasa jest używana do przechowywania MenuItem kolekcji obiektów w Menu kontrolce i zarządzania nią. MenuItemCollectionThe MenuItemCollection class is used to store and manage a collection of MenuItem objects in the Menu control. Kontrolka używa klasy do przechowywania swoich elementów menu Items głównego we właściwości. MenuItemCollection MenuThe Menu control uses the MenuItemCollection class to store its root menu items in the Items property. Ta kolekcja jest również używana jako ChildItems Właściwość MenuItem obiektu do przechowywania elementów podmenu elementu menu (jeśli istnieją).This collection is also used for the ChildItems property of a MenuItem object to store a menu item's submenu items (if any).

MenuItemCollection Klasa obsługuje kilka sposobów uzyskiwania dostępu do elementów w kolekcji:The MenuItemCollection class supports several ways to access the items in the collection:

  • Użyj indeksatora, Item[Int32] aby bezpośrednio MenuItem pobrać obiekt w określonym indeksie liczonym od zera.Use the Item[Int32] indexer to directly retrieve a MenuItem object at a specific zero-based index.

  • GetEnumerator Użyj metody, aby utworzyć moduł wyliczający, który może być używany do iteracji kolekcji.Use the GetEnumerator method to create an enumerator that can be used to iterate through the collection.

  • Użyj metody CopyTo , aby skopiować zawartość kolekcji do tablicy.Use the CopyTo method to copy the contents of the collection into an array.

Można programowo zarządzać MenuItemCollection obiektem przez dodawanie i usuwanie MenuItem obiektów.You can programmatically manage a MenuItemCollection object by adding and removing MenuItem objects. Aby dodać elementy menu do kolekcji, użyj Add AddAt metody lub.To add menu items to the collection, use the Add or the AddAt method. Aby usunąć węzły z kolekcji, użyj Remove RemoveAt Clear metody, lub.To remove nodes from the collection, use the Remove, the RemoveAt, or the Clear method.

Uwaga

Gdy formant jest powiązany ze źródłem danych Items , kolekcje i ChildItems są wypełniane automatycznie przy każdym wystąpieniu powiązania. MenuWhen the Menu control is bound to a data source, the Items and ChildItems collections are automatically populated each time binding occurs. Wszystkie zmiany kolekcji między powiązaniami zostaną utracone.Any changes to the collections between bindings will be lost. Aby zachować te zmiany, należy zaktualizować źródło danych lub ręcznie skompilować kolekcję po każdym utworzeniu powiązania.To retain these changes, either update the data source or manually rebuild the collection each time you bind.

MenuItemCollection Klasa zawiera właściwości i metody, które umożliwiają pobieranie informacji o samej kolekcji.The MenuItemCollection class contains properties and methods that allow you to retrieve information about the collection itself. Aby dowiedzieć się, ile elementów znajduje się w kolekcji, użyj Count właściwości.To find out how many items are in the collection, use the Count property. Jeśli chcesz określić, czy kolekcja zawiera określony MenuItem obiekt, Contains Użyj metody.If you want to determine whether the collection contains a certain MenuItem object, use the Contains method. Aby uzyskać indeks MenuItem obiektu w kolekcji, IndexOf Użyj metody.To get the index of a MenuItem object in the collection, use the IndexOf method.

Konstruktory

MenuItemCollection()

Inicjuje nowe wystąpienie MenuItemCollection klasy przy użyciu wartości domyślnych.Initializes a new instance of the MenuItemCollection class using the default values.

MenuItemCollection(MenuItem)

Inicjuje nowe wystąpienie MenuItemCollection klasy przy użyciu określonego elementu nadrzędnego menu (lub właściciela).Initializes a new instance of the MenuItemCollection class using the specified parent menu item (or owner).

Właściwości

Count

Pobiera liczbę elementów menu zawartych w bieżącym MenuItemCollection obiekcie.Gets the number of menu items contained in the current MenuItemCollection object.

IsSynchronized

Pobiera wartość wskazującą, MenuItemCollection czy dostęp do obiektu jest synchronizowany (bezpieczny wątkowo).Gets a value indicating whether access to the MenuItemCollection object is synchronized (thread safe).

Item[Int32]

Pobiera obiekt o określonym indeksie w bieżącym MenuItemCollection obiekcie. MenuItemGets the MenuItem object at the specified index in the current MenuItemCollection object.

SyncRoot

Pobiera obiekt, który może służyć do synchronizowania dostępu do MenuItemCollection obiektu.Gets an object that can be used to synchronize access to the MenuItemCollection object.

Metody

Add(MenuItem)

Dołącza określony MenuItem obiekt do końca bieżącego MenuItemCollection obiektu.Appends the specified MenuItem object to the end of the current MenuItemCollection object.

AddAt(Int32, MenuItem)

Wstawia określony MenuItem obiekt w bieżącym MenuItemCollection obiekcie w określonej lokalizacji indeksu.Inserts the specified MenuItem object in the current MenuItemCollection object at the specified index location.

Clear()

Usuwa wszystkie elementy z bieżącego MenuItemCollection obiektu.Removes all items from the current MenuItemCollection object.

Contains(MenuItem)

Określa, czy określony MenuItem obiekt znajduje się w kolekcji.Determines whether the specified MenuItem object is in the collection.

CopyTo(Array, Int32)

Kopiuje wszystkie elementy z MenuItemCollection obiektu do zgodnego jednowymiarowego Array, rozpoczynając od określonego indeksu w tablicy docelowej.Copies all the items from the MenuItemCollection object to a compatible one-dimensional Array, starting at the specified index in the target array.

CopyTo(MenuItem[], Int32)

Kopiuje wszystkie elementy z MenuItemCollection obiektu do zgodnej jednowymiarowej MenuItem tablicy obiektów, rozpoczynając od określonego indeksu w tablicy docelowej.Copies all the items from the MenuItemCollection object to a compatible one-dimensional array of MenuItem objects, starting at the specified index in the target array.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetEnumerator()

Zwraca moduł wyliczający, który może być używany do iteracji przez elementy w bieżącym MenuItemCollection obiekcie.Returns an enumerator that can be used to iterate through the items in the current MenuItemCollection object.

GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
IndexOf(MenuItem)

Określa indeks określonego MenuItem obiektu w kolekcji.Determines the index of the specified MenuItem object in the collection.

MemberwiseClone()

Tworzy skróconą kopię bieżącego Objectelementu.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
Remove(MenuItem)

Usuwa określony MenuItem obiekt MenuItemCollection z obiektu.Removes the specified MenuItem object from the MenuItemCollection object.

RemoveAt(Int32)

Usuwa obiekt znajdujący się w określonej lokalizacji indeksu z bieżącego MenuItemCollection obiektu. MenuItemRemoves the MenuItem object at the specified index location from the current MenuItemCollection object.

ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IStateManager.IsTrackingViewState

Pobiera wartość wskazującą, czy MenuItemCollection obiekt zapisuje zmiany w stanie widoku.Gets a value that indicates whether the MenuItemCollection object is saving changes to its view state.

IStateManager.LoadViewState(Object)

Ładuje stan widoku poprzednio zapisanego obiektu.MenuItemCollectionLoads the MenuItemCollection object's previously saved view state.

IStateManager.SaveViewState()

Zapisuje zmiany stanu Objectwidoku.Saves the changes to view state to an Object.

IStateManager.TrackViewState()

Powoduje, że MenuItemCollection obiekt śledzi zmiany stanu widoku.Instructs the MenuItemCollection object to track changes to its view state.

Metody rozszerzania

Cast<TResult>(IEnumerable)

Rzutuje elementy IEnumerable do określonego typu.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtruje elementy IEnumerable w oparciu o określony typ.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Włącza przetwarzanie równoległe zapytania.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerable KonwertujeIQueryabledo.Converts an IEnumerable to an IQueryable.

Dotyczy

Zobacz też