MenuItemCollection Classe

Definição

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.

Aplica-se a

Confira também