MenuItemCollection Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje kolekcję elementów menu w kontrolce Menu . Klasa ta nie może być dziedziczona.
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
W poniższym przykładzie kodu pokazano, jak wypełnić Items kolekcje i ChildItems przy użyciu składni deklaratywnej.
<%@ 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>
W poniższym przykładzie kodu pokazano, jak programowo dodać MenuItem obiekt do ChildItems kolekcji elementu menu głównego.
<%@ 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 MenuItemCollection służy do przechowywania kolekcji MenuItem obiektów w kontrolce Menu i zarządzania nimi. Kontrolka MenuMenuItemCollection używa klasy do przechowywania elementów menu głównego we Items właściwości . Ta kolekcja jest również używana dla ChildItems właściwości MenuItem obiektu do przechowywania elementów podrzędnych elementu menu (jeśli istnieją).
Klasa MenuItemCollection obsługuje kilka sposobów uzyskiwania dostępu do elementów w kolekcji:
Użyj indeksatora Item[] , aby bezpośrednio pobrać MenuItem obiekt w określonym indeksie opartym na zerze.
GetEnumerator Użyj metody , aby utworzyć moduł wyliczający, który może służyć do iteracji po kolekcji.
CopyTo Użyj metody , aby skopiować zawartość kolekcji do tablicy.
Obiekt można zarządzać MenuItemCollection programowo, dodając i usuwając MenuItem obiekty. Aby dodać elementy menu do kolekcji, użyj Add metody lub AddAt . Aby usunąć węzły z kolekcji, użyj Removemetody , RemoveAtlub Clear .
Uwaga
Gdy kontrolka Menu jest powiązana ze źródłem danych, Items kolekcje i ChildItems są automatycznie wypełniane za każdym razem, gdy występuje powiązanie. Wszelkie zmiany w kolekcjach między powiązaniami zostaną utracone. Aby zachować te zmiany, zaktualizuj źródło danych lub ręcznie ponownie skompiluj kolekcję przy każdym powiązaniu.
Klasa MenuItemCollection zawiera właściwości i metody, które umożliwiają pobieranie informacji o samej kolekcji. Aby dowiedzieć się, ile elementów znajduje się w kolekcji, użyj Count właściwości . Jeśli chcesz określić, czy kolekcja zawiera określony MenuItem obiekt, użyj Contains metody . Aby uzyskać indeks MenuItem obiektu w kolekcji, użyj IndexOf metody .
Konstruktory
MenuItemCollection() |
Inicjuje MenuItemCollection nowe wystąpienie klasy przy użyciu wartości domyślnych. |
MenuItemCollection(MenuItem) |
Inicjuje MenuItemCollection nowe wystąpienie klasy przy użyciu określonego nadrzędnego elementu menu (lub właściciela). |
Właściwości
Count |
Pobiera liczbę elementów menu zawartych w bieżącym MenuItemCollection obiekcie. |
IsSynchronized |
Pobiera wartość wskazującą, czy dostęp do MenuItemCollection obiektu jest synchronizowany (bezpieczny wątek). |
Item[Int32] |
MenuItem Pobiera obiekt w określonym indeksie w bieżącym MenuItemCollection obiekcie. |
SyncRoot |
Pobiera obiekt, który może służyć do synchronizowania dostępu do MenuItemCollection obiektu. |
Metody
Add(MenuItem) |
Dołącza określony MenuItem obiekt na końcu bieżącego MenuItemCollection obiektu. |
AddAt(Int32, MenuItem) |
Wstawia określony MenuItem obiekt w bieżącym MenuItemCollection obiekcie w określonej lokalizacji indeksu. |
Clear() |
Usuwa wszystkie elementy z bieżącego MenuItemCollection obiektu. |
Contains(MenuItem) |
Określa, czy określony MenuItem obiekt znajduje się w kolekcji. |
CopyTo(Array, Int32) |
Kopiuje wszystkie elementy z MenuItemCollection obiektu do zgodnego jednowymiarowego Array, zaczynając od określonego indeksu w tablicy docelowej. |
CopyTo(MenuItem[], Int32) |
Kopiuje wszystkie elementy z MenuItemCollection obiektu do zgodnej jednowymiarowej tablicy MenuItem obiektów, począwszy od określonego indeksu w tablicy docelowej. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetEnumerator() |
Zwraca moduł wyliczający, który może służyć do iterowania elementów w bieżącym MenuItemCollection obiekcie. |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
IndexOf(MenuItem) |
Określa indeks określonego MenuItem obiektu w kolekcji. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
Remove(MenuItem) |
Usuwa określony MenuItem obiekt z MenuItemCollection obiektu . |
RemoveAt(Int32) |
MenuItem Usuwa obiekt w określonej lokalizacji indeksu z bieżącego MenuItemCollection obiektu. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
IStateManager.IsTrackingViewState |
Pobiera wartość wskazującą, czy MenuItemCollection obiekt zapisuje zmiany w stanie widoku. |
IStateManager.LoadViewState(Object) |
MenuItemCollection Ładuje wcześniej zapisany stan widoku obiektu. |
IStateManager.SaveViewState() |
Zapisuje zmiany stanu widoku w obiekcie Object. |
IStateManager.TrackViewState() |
Instruuje obiekt, MenuItemCollection aby śledzić zmiany stanu widoku. |
Metody rozszerzania
Cast<TResult>(IEnumerable) |
Rzutuje elementy obiektu IEnumerable na określony typ. |
OfType<TResult>(IEnumerable) |
Filtruje elementy IEnumerable elementu na podstawie określonego typu. |
AsParallel(IEnumerable) |
Umożliwia równoległość zapytania. |
AsQueryable(IEnumerable) |
Konwertuje element IEnumerable na .IQueryable |