MenuItemCollection.GetEnumerator 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回一个枚举数,该枚举数可用于循环访问当前 MenuItemCollection 对象中的项。
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
返回
可用来循环访问当前 MenuItemCollection 中的项的枚举数。
实现
示例
下面的代码示例演示如何使用GetEnumerator该方法创建一个枚举器,其中包含控件中Menu菜单项的Music
子菜单项。
<%@ 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>
注解
使用该方法 GetEnumerator 创建一个枚举器,该枚举器可以轻松循环访问,以便获取当前 MenuItemCollection 对象中的每个项。 若要获取枚举器中当前指向的项,请使用该 Current 属性。 使用该方法 MoveNext 移动到下一项。 如果需要将枚举器移回到集合的开头,请使用 Reset 该方法。
作为替代方法,还可以使用 CopyTo 该方法将集合中的项复制到数组。 然后,可以使用数组访问集合中的项。