MenuItemCollection Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa uma coleção de itens de menu num Menu controlo. Esta classe não pode ser herdada.
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
- Herança
-
MenuItemCollection
- Implementações
Exemplos
O seguinte exemplo de código demonstra como preencher as Items coleções and ChildItems usando sintaxe declarativa.
<%@ 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>
O exemplo de código seguinte demonstra como adicionar programaticamente um MenuItem objeto à ChildItems coleção de um item do menu raiz.
<%@ 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>
Observações
A MenuItemCollection classe é usada para armazenar e gerir uma coleção de MenuItem objetos no Menu controlo. O Menu controlo usa a MenuItemCollection classe para armazenar os seus itens do menu raiz na Items propriedade. Esta coleção também é usada para a ChildItems propriedade de um MenuItem objeto armazenar os itens do submenu de um item do menu (se existirem).
A MenuItemCollection classe suporta várias formas de aceder aos itens da coleção:
Use o Item[] indexador para recuperar diretamente um MenuItem objeto num índice específico baseado em zero.
Use o GetEnumerator método para criar um enumerador que possa ser usado para iterar pela coleção.
Use o CopyTo método para copiar o conteúdo da coleção num array.
Podes gerir programaticamente um MenuItemCollection objeto adicionando e removendo MenuItem objetos. Para adicionar itens do menu à coleção, use o Add ou o AddAt método. Para remover nós da coleção, use o Remove, o RemoveAt, ou o Clear método.
Note
Quando o controlo Menu está ligado a uma fonte de dados, as Items coleções e ChildItems são automaticamente preenchidas sempre que ocorre a ligação. Quaisquer alterações às coleções entre encadernações serão perdidas. Para manter estas alterações, atualize a fonte de dados ou reconstrua manualmente a coleção cada vez que a vincular.
A MenuItemCollection classe contém propriedades e métodos que permitem obter informações sobre a própria coleção. Para saber quantos itens há na coleção, utilize a Count propriedade. Se quiser determinar se a coleção contém um determinado MenuItem objeto, use o Contains método. Para obter o índice de um MenuItem objeto na coleção, use o IndexOf método.
Construtores
| Name | Description |
|---|---|
| MenuItemCollection() |
Inicializa uma nova instância da MenuItemCollection classe usando os valores padrão. |
| MenuItemCollection(MenuItem) |
Inicializa uma nova instância da MenuItemCollection classe usando o elemento do menu pai especificado (ou proprietário). |
Propriedades
| Name | Description |
|---|---|
| Count |
Obtém o número de itens do menu contidos no objeto atual MenuItemCollection . |
| IsSynchronized |
Recebe um valor que indica se o acesso ao MenuItemCollection objeto está sincronizado (thread safe). |
| Item[Int32] |
Obtém o MenuItem objeto no índice especificado no objeto atual MenuItemCollection . |
| SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso ao MenuItemCollection objeto. |
Métodos
| Name | Description |
|---|---|
| Add(MenuItem) |
Anexa o objeto especificado MenuItem ao final do objeto atual MenuItemCollection . |
| AddAt(Int32, MenuItem) |
Insere o objeto especificado MenuItem no objeto atual MenuItemCollection na localização do índice especificada. |
| Clear() |
Remove todos os itens do objeto atual MenuItemCollection . |
| Contains(MenuItem) |
Determina se o objeto especificado MenuItem está na coleção. |
| CopyTo(Array, Int32) |
Copia todos os itens do MenuItemCollection objeto para um unidimensional Arraycompatível , começando no índice especificado no array alvo. |
| CopyTo(MenuItem[], Int32) |
Copia todos os itens do MenuItemCollection objeto para um array unidimensional compatível de MenuItem objectos, começando no índice especificado no array-alvo. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetEnumerator() |
Devolve um enumerador que pode ser usado para iterar pelos itens no objeto atual MenuItemCollection . |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IndexOf(MenuItem) |
Determina o índice do objeto especificado MenuItem na coleção. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| Remove(MenuItem) |
Remove o objeto especificado MenuItem do MenuItemCollection objeto. |
| RemoveAt(Int32) |
Remove o MenuItem objeto na localização do índice especificado do objeto atual MenuItemCollection . |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| IStateManager.IsTrackingViewState |
Recebe um valor que indica se o MenuItemCollection objeto está a guardar alterações ao seu estado de visualização. |
| IStateManager.LoadViewState(Object) |
Carrega o MenuItemCollection estado de visualização previamente guardado do objeto. |
| IStateManager.SaveViewState() |
Guarda as alterações ao estado de visualização num Object. |
| IStateManager.TrackViewState() |
Instrui o MenuItemCollection objeto a acompanhar alterações ao seu estado de visualização. |
Métodos da Extensão
| Name | Description |
|---|---|
| AsParallel(IEnumerable) |
Permite a paralelização de uma consulta. |
| AsQueryable(IEnumerable) |
Converte um IEnumerable para um IQueryable. |
| Cast<TResult>(IEnumerable) |
Conjura os elementos de an IEnumerable para o tipo especificado. |
| OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base num tipo especificado. |