Udostępnij za pośrednictwem


MenuItemCollection.GetEnumerator Metoda

Definicja

Zwraca moduł wyliczający, który może służyć do iterowania elementów w bieżącym MenuItemCollection obiekcie.

public:
 virtual System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator ();
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator

Zwraca

IEnumerator

Moduł wyliczający, który może służyć do iterowania elementów w bieżącym elemencie MenuItemCollection.

Implementuje

Przykłady

Poniższy przykład kodu przedstawia sposób użycia GetEnumerator metody do utworzenia modułu wyliczającego zawierającego Music elementy podrzędne elementu menu w kontrolce Menu .


<%@ 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)
  {

    // Display the submenu items of the Music
    // menu item. 

    // Retrieve the Music menu item.
    MenuItem musicMenuItem = NavigationMenu.FindItem(@"Home\Music");

    // Use the GetEnumerator method to create an enumerator 
    // that contains the submenu items of the Music menu item.
    IEnumerator menuItemEnumerator = musicMenuItem.ChildItems.GetEnumerator();

    Message.Text = "The submenu items of the Music menu item are: <br/><br/>";

    // Iterate though the enumerator to display the menu items.
    while (menuItemEnumerator.MoveNext())
    {

      Message.Text += ((MenuItem)(menuItemEnumerator.Current)).Text + "<br />";

    }

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemCollection GetEnumerator Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemCollection GetEnumerator 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>
      
      <hr/>

      <asp:label id="Message" 
        runat="server"/>

    </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)

    ' Display the submenu items of the Music
    ' menu item. 

    ' Retrieve the Music menu item.
    Dim musicMenuItem As MenuItem = NavigationMenu.FindItem("Home\Music")

    ' Use the GetEnumerator method to create an enumerator 
    ' that contains the submenu items of the Music menu item.
    Dim menuItemEnumerator As IEnumerator = musicMenuItem.ChildItems.GetEnumerator()

    Message.Text = "The submenu items of the Music menu item are: <br/><br/>"

    ' Iterate though the enumerator to display the menu items.
    While menuItemEnumerator.MoveNext()

      Message.Text &= (CType(menuItemEnumerator.Current, MenuItem)).Text & "<br />"

    End While

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemCollection GetEnumerator Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemCollection GetEnumerator 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>
      
      <hr/>

      <asp:label id="Message" 
        runat="server"/>

    </form>
  </body>
</html>

Uwagi

GetEnumerator Użyj metody , aby utworzyć moduł wyliczający, który można łatwo iterować, aby pobrać każdy element w bieżącym MenuItemCollection obiekcie. Aby uzyskać element aktualnie wskazywany w module wyliczania, użyj Current właściwości . MoveNext Użyj metody , aby przejść do następnego elementu. Jeśli musisz przenieść moduł wyliczający z powrotem na początek kolekcji, użyj Reset metody .

Uwaga

Po utworzeniu modułu Reset wyliczającego lub użyciu metody należy wywołać metodę MoveNext . W przeciwnym razie element reprezentowany Current przez właściwość jest niezdefiniowany.

Alternatywnie możesz użyć CopyTo metody , aby skopiować elementy w kolekcji do tablicy. Następnie możesz użyć tablicy, aby uzyskać dostęp do elementów w kolekcji.

Dotyczy

Zobacz też