MenuItemCollection Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa uma coleção de itens de menu em um controle Menu. Essa 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 exemplo de código a seguir demonstra como popular as coleções e ChildItems as Items coleções 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 a seguir demonstra como adicionar programaticamente um MenuItem objeto à ChildItems coleção de um item de 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>
Comentários
A MenuItemCollection classe é usada para armazenar e gerenciar uma coleção de MenuItem objetos no Menu controle. O Menu controle usa a MenuItemCollection classe para armazenar seus itens de menu raiz na Items propriedade. Essa coleção também é usada para a ChildItems propriedade de um MenuItem objeto armazenar os itens de submenu de um item de menu (se houver).
A MenuItemCollection classe dá suporte a várias maneiras de acessar os itens na coleção:
Use o Item[] indexador para recuperar diretamente um MenuItem objeto em um índice baseado em zero específico.
Use o GetEnumerator método para criar um enumerador que pode ser usado para iterar por meio da coleção.
Use o CopyTo método para copiar o conteúdo da coleção em uma matriz.
Você pode gerenciar programaticamente um MenuItemCollection objeto adicionando e removendo MenuItem objetos. Para adicionar itens de menu à coleção, use o método ou o Add AddAt método. Para remover nós da coleção, use o Removemétodo, o ou o RemoveAtClear método.
Observação
Quando o Menu controle está associado a uma fonte de dados, as coleções e ChildItems as Items coleções são preenchidas automaticamente sempre que a associação ocorre. Todas as alterações nas coleções entre as associações serão perdidas. Para manter essas alterações, atualize a fonte de dados ou recompile manualmente a coleção sempre que você associar.
A MenuItemCollection classe contém propriedades e métodos que permitem recuperar informações sobre a própria coleção. Para descobrir quantos itens estão na coleção, use a Count propriedade. Se você 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
MenuItemCollection() |
Inicializa uma nova instância da classe MenuItemCollection usando os valores padrão. |
MenuItemCollection(MenuItem) |
Inicializa uma nova instância da classe MenuItemCollection usando o item de menu pai (ou proprietário) especificado. |
Propriedades
Count |
Obtém o número de itens de menu contidos no objeto MenuItemCollection atual. |
IsSynchronized |
Obtém um valor que indica se o acesso ao objeto MenuItemCollection é sincronizado (thread-safe). |
Item[Int32] |
Obtém o objeto MenuItem no índice especificado no objeto MenuItemCollection atual. |
SyncRoot |
Obtém um objeto que pode ser usado para sincronizar o acesso ao objeto MenuItemCollection. |
Métodos
Add(MenuItem) |
Acrescenta o objeto MenuItem especificado ao final do objeto MenuItemCollection atual. |
AddAt(Int32, MenuItem) |
Insere o objeto MenuItem especificado no objeto MenuItemCollection atual no local de índice especificado. |
Clear() |
Remove todos os itens do objeto MenuItemCollection atual. |
Contains(MenuItem) |
Determina se o objeto MenuItem especificado está na coleção. |
CopyTo(Array, Int32) |
Copia todos os itens do objeto MenuItemCollection para uma matriz unidimensional Arraycompatível, começando no índice especificado na matriz de destino. |
CopyTo(MenuItem[], Int32) |
Copia todos os itens do objeto MenuItemCollection para uma matriz unidimensional compatível de objetos MenuItem, começando no índice especificado na matriz de destino. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetEnumerator() |
Retorna um enumerador que pode ser usado para iterar pelos itens no objeto MenuItemCollection atual. |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
IndexOf(MenuItem) |
Determina o índice do objeto MenuItem especificado na coleção. |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
Remove(MenuItem) |
Remove o objeto MenuItem especificado do objeto MenuItemCollection. |
RemoveAt(Int32) |
Remove o objeto MenuItem no local do índice especificado do objeto MenuItemCollection atual. |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Implantações explícitas de interface
IStateManager.IsTrackingViewState |
Obtém um valor que indica se o objeto MenuItemCollection está salvando as alterações no estado de exibição. |
IStateManager.LoadViewState(Object) |
Carrega o estado de exibição salvo anteriormente do objeto MenuItemCollection. |
IStateManager.SaveViewState() |
Salva as alterações ao estado de exibição em um Object. |
IStateManager.TrackViewState() |
Instrui o objeto MenuItemCollection a acompanhar as alterações em seu estado de exibição. |
Métodos de Extensão
Cast<TResult>(IEnumerable) |
Converte os elementos de um IEnumerable para o tipo especificado. |
OfType<TResult>(IEnumerable) |
Filtra os elementos de um IEnumerable com base em um tipo especificado. |
AsParallel(IEnumerable) |
Habilita a paralelização de uma consulta. |
AsQueryable(IEnumerable) |
Converte um IEnumerable em um IQueryable. |