MenuItemCollection Classe

Définition

Représente une collection d’éléments de menu dans un contrôle Menu.Represents a collection of menu items in a Menu control. Cette classe ne peut pas être héritée.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
Héritage
MenuItemCollection
Implémente

Exemples

L’exemple de code suivant montre comment remplir les Items collections ChildItems et à l’aide de la syntaxe déclarative.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>

L’exemple de code suivant montre comment ajouter par programme un MenuItem objet à la ChildItems collection d’un élément de menu racine.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>

Remarques

La MenuItemCollection classe est utilisée pour stocker et gérer une collection d' MenuItem objets dans le Menu contrôle.The MenuItemCollection class is used to store and manage a collection of MenuItem objects in the Menu control. Le Menu contrôle utilise la MenuItemCollection classe pour stocker ses éléments de menu racine dans Items la propriété.The Menu control uses the MenuItemCollection class to store its root menu items in the Items property. Cette collection est également utilisée pour la ChildItems propriété d’un MenuItem objet pour stocker les éléments de sous-menu d’un élément de menu (le cas échéant).This collection is also used for the ChildItems property of a MenuItem object to store a menu item's submenu items (if any).

La MenuItemCollection classe prend en charge plusieurs façons d’accéder aux éléments de la collection:The MenuItemCollection class supports several ways to access the items in the collection:

  • Utilisez l' Item[Int32] indexeur pour récupérer directement un MenuItem objet à un index de base zéro spécifique.Use the Item[Int32] indexer to directly retrieve a MenuItem object at a specific zero-based index.

  • Utilisez la GetEnumerator méthode pour créer un énumérateur qui peut être utilisé pour itérer au sein de la collection.Use the GetEnumerator method to create an enumerator that can be used to iterate through the collection.

  • Utilisez la CopyTo méthode pour copier le contenu de la collection dans un tableau.Use the CopyTo method to copy the contents of the collection into an array.

Vous pouvez gérer par programmation un MenuItemCollection objet en ajoutant et en supprimant MenuItem des objets.You can programmatically manage a MenuItemCollection object by adding and removing MenuItem objects. Pour ajouter des éléments de menu à la collection, Add utilisez la AddAt méthode ou.To add menu items to the collection, use the Add or the AddAt method. Pour supprimer des nœuds de la collection, Removeutilisez RemoveAtla Clear méthode, ou.To remove nodes from the collection, use the Remove, the RemoveAt, or the Clear method.

Notes

Lorsque le Menu contrôle est lié à une source de données, Items les ChildItems collections et sont automatiquement renseignées chaque fois que la liaison est effectuée.When the Menu control is bound to a data source, the Items and ChildItems collections are automatically populated each time binding occurs. Toute modification apportée aux collections entre les liaisons sera perdue.Any changes to the collections between bindings will be lost. Pour conserver ces modifications, mettez à jour la source de données ou régénérez manuellement la collection chaque fois que vous effectuez une liaison.To retain these changes, either update the data source or manually rebuild the collection each time you bind.

La MenuItemCollection classe contient des propriétés et des méthodes qui vous permettent de récupérer des informations sur la collection elle-même.The MenuItemCollection class contains properties and methods that allow you to retrieve information about the collection itself. Pour connaître le nombre d’éléments présents dans la collection, utilisez la Count propriété.To find out how many items are in the collection, use the Count property. Si vous souhaitez déterminer si la collection contient un certain MenuItem objet, utilisez la Contains méthode.If you want to determine whether the collection contains a certain MenuItem object, use the Contains method. Pour obtenir l’index d’un MenuItem objet dans la collection, utilisez la IndexOf méthode.To get the index of a MenuItem object in the collection, use the IndexOf method.

Constructeurs

MenuItemCollection()

Initialise une nouvelle instance de la classe MenuItemCollection à l'aide des valeurs par défaut.Initializes a new instance of the MenuItemCollection class using the default values.

MenuItemCollection(MenuItem)

Initialise une nouvelle instance de la classe MenuItemCollection à l'aide de l'élément de menu parent (ou propriétaire) spécifié.Initializes a new instance of the MenuItemCollection class using the specified parent menu item (or owner).

Propriétés

Count

Obtient le nombre d'éléments de menu contenus dans l'objet MenuItemCollection en cours.Gets the number of menu items contained in the current MenuItemCollection object.

IsSynchronized

Obtient une valeur indiquant si l’accès à l’objet MenuItemCollection est synchronisé (thread-safe).Gets a value indicating whether access to the MenuItemCollection object is synchronized (thread safe).

Item[Int32]

Obtient l'objet MenuItem à l'index spécifié dans l'objet MenuItemCollection en cours.Gets the MenuItem object at the specified index in the current MenuItemCollection object.

SyncRoot

Obtient un objet qui peut être utilisé pour synchroniser l’accès à l’objet MenuItemCollection.Gets an object that can be used to synchronize access to the MenuItemCollection object.

Méthodes

Add(MenuItem)

Ajoute l'objet MenuItem spécifié à la fin de l'objet MenuItemCollection en cours.Appends the specified MenuItem object to the end of the current MenuItemCollection object.

AddAt(Int32, MenuItem)

Insère l'objet MenuItem spécifié dans l'objet MenuItemCollection en cours à l'emplacement d'index spécifié.Inserts the specified MenuItem object in the current MenuItemCollection object at the specified index location.

Clear()

Supprime tous les éléments de l'objet MenuItemCollection en cours.Removes all items from the current MenuItemCollection object.

Contains(MenuItem)

Détermine si l'objet MenuItem spécifié se trouve dans la collection.Determines whether the specified MenuItem object is in the collection.

CopyTo(Array, Int32)

Copie tous les éléments de l'objet MenuItemCollection dans un tableau Array compatible unidimensionnel, en commençant à l'index spécifié dans le tableau cible.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)

Copie tous les éléments de l'objet MenuItemCollection dans un tableau d'objets MenuItem compatible unidimensionnel, en commençant à l'index spécifié dans le tableau cible.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)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetEnumerator()

Retourne un énumérateur qui peut être utilisé pour itérer au sein des éléments de l'objet MenuItemCollection en cours.Returns an enumerator that can be used to iterate through the items in the current MenuItemCollection object.

GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
IndexOf(MenuItem)

Détermine l'index de l'objet MenuItem spécifié dans la collection.Determines the index of the specified MenuItem object in the collection.

MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
Remove(MenuItem)

Supprime l'objet MenuItem spécifié de l'objet MenuItemCollection.Removes the specified MenuItem object from the MenuItemCollection object.

RemoveAt(Int32)

Supprime l'objet MenuItem à l'emplacement d'index spécifié de l'objet MenuItemCollection en cours.Removes the MenuItem object at the specified index location from the current MenuItemCollection object.

ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Hérité de Object)

Implémentations d’interfaces explicites

IStateManager.IsTrackingViewState

Obtient une valeur qui indique si l'objet MenuItemCollection enregistre les modifications apportées à son état d'affichage.Gets a value that indicates whether the MenuItemCollection object is saving changes to its view state.

IStateManager.LoadViewState(Object)

Charge l'état d'affichage précédemment enregistré de l'objet MenuItemCollection.Loads the MenuItemCollection object's previously saved view state.

IStateManager.SaveViewState()

Enregistre les modifications apportées à l'état d'affichage dans Object.Saves the changes to view state to an Object.

IStateManager.TrackViewState()

Demande à l’objet MenuItemCollection d'assurer le suivi des modifications apportées à son état d'affichage.Instructs the MenuItemCollection object to track changes to its view state.

Méthodes d’extension

Cast<TResult>(IEnumerable)

Effectue un cast des éléments d'un IEnumerable vers le type spécifié.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

Filtre les éléments d'un IEnumerable en fonction du type spécifié.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

Active la parallélisation d'une requête.Enables parallelization of a query.

AsQueryable(IEnumerable)

Convertit un IEnumerable en IQueryable.Converts an IEnumerable to an IQueryable.

S’applique à

Voir aussi