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 do ChildItems 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

MenuItemCollectionKlasa jest używana do przechowywania kolekcji MenuItem obiektów w kontrolce i zarządzania nią Menu .The MenuItemCollection class is used to store and manage a collection of MenuItem objects in the Menu control. MenuKontrolka używa MenuItemCollection klasy do przechowywania swoich elementów menu głównego we Items właściwości.The 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).

MenuItemCollectionKlasa 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 Item[] indeksatora, aby bezpośrednio pobrać MenuItem obiekt w określonym indeksie liczonym od zera.Use the Item[] indexer to directly retrieve a MenuItem object at a specific zero-based index.

  • Użyj GetEnumerator 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 CopyTo metody, 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 metody, Remove RemoveAt lub Clear .To remove nodes from the collection, use the Remove, the RemoveAt, or the Clear method.

Uwaga

Gdy Menu formant jest powiązany ze źródłem danych, Items ChildItems kolekcje i są wypełniane automatycznie przy każdym wystąpieniu powiązania.When 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.

MenuItemCollectionKlasa 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, użyj Contains 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, użyj IndexOf 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ą, czy dostęp do MenuItemCollection obiektu jest synchronizowany (bezpieczny wątkowo).Gets a value indicating whether access to the MenuItemCollection object is synchronized (thread safe).

Item[Int32]

Pobiera MenuItem obiekt o określonym indeksie w bieżącym MenuItemCollection obiekcie.Gets 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 obiekcie w MenuItemCollection 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 tablicy MenuItem 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 dany obiekt jest taki sam, jak bieżący obiekt.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()

Pobiera Type 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 elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
Remove(MenuItem)

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

RemoveAt(Int32)

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

ToString()

Zwraca ciąg reprezentujący 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 MenuItemCollection stan widoku poprzednio zapisanego obiektu.Loads the MenuItemCollection object's previously saved view state.

IStateManager.SaveViewState()

Zapisuje zmiany stanu widoku Object .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 elementu 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)

Konwertuje IEnumerable do IQueryable .Converts an IEnumerable to an IQueryable.

Dotyczy

Zobacz też