MenuItemStyleCollection 类

定义

表示 Menu 控件中 MenuItemStyle 对象的集合。 此类不能被继承。

public ref class MenuItemStyleCollection sealed : System::Web::UI::StateManagedCollection
public sealed class MenuItemStyleCollection : System.Web.UI.StateManagedCollection
type MenuItemStyleCollection = class
    inherit StateManagedCollection
Public NotInheritable Class MenuItemStyleCollection
Inherits StateManagedCollection
继承
MenuItemStyleCollection

示例

下面的代码示例演示如何使用 MenuItemStyleCollection 类根据菜单项的级别指定控件中的 Menu 菜单项的样式设置。 在此示例中, LevelMenuItemStyles 属性以声明方式创建,一个 MenuItemStyle 对象被删除,另一个对象添加到 对象 MenuItemStyleCollection


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

      // Use the Add and RemoveAt methods to programmatically 
      // remove the third level menu item style and replace 
      // it with a new style, in this case replacing the green background
        // and yellow text with the blue background and white text. 

        MenuItemStyle newStyle = new MenuItemStyle();
        newStyle.BackColor = System.Drawing.Color.Blue;
        newStyle.ForeColor = System.Drawing.Color.White;

        // Remove the last of the three menu item styles. Note that
        // since the collection has a zero-based index, the third
        // entry has an index value of 2.
        MainMenuID.LevelMenuItemStyles.RemoveAt(2);
        MainMenuID.LevelMenuItemStyles.Add(newStyle);

    }

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemStyleCollection Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemStyleCollection Example</h3>
         <!--Add MenuItemStyle objects to the MenuItemStyleCollection -->
         <!--using LevelMenuItemStyles.  -->
         <!--Note that each menu item style represents a level in the menu -->

      <asp:Menu id="MainMenuID"
       Font-Names= "Arial"
        ForeColor="Blue"
        runat="server">
         
         <LevelMenuItemStyles>
         <asp:MenuItemStyle BackColor="Azure" 
             Font-Italic="true"
             Font-Names="Arial"
             ForeColor="Black" />
         
           <asp:MenuItemStyle BackColor="Black" 
             Font-Italic="false"
             Font-Names="Arial"
             ForeColor="White" />
             
         <asp:MenuItemStyle BackColor="Green" 
             Font-Italic="true"
             Font-Names="Arial"
             ForeColor="Yellow" />
       
         </LevelMenuItemStyles>

        <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
        
        ' Use the Add and RemoveAt methods to programmatically 
        ' remove the third level menu item style and replace 
        ' it with a new style, in this case replacing the green background
        ' and yellow text with the blue background and white text. 
        Dim newStyle As New MenuItemStyle()
        newStyle.BackColor = System.Drawing.Color.Blue
        newStyle.ForeColor = System.Drawing.Color.White
        
        ' Remove the last of the three menu item styles. Note that
        ' since the collection has a zero-based index, the third
        ' entry has an index value of 2.
        MainMenuID.LevelMenuItemStyles.RemoveAt(2)
        MainMenuID.LevelMenuItemStyles.Add(newStyle)
    End If
 
End Sub 'Page_Load
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>MenuItemStyleCollection Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>MenuItemStyleCollection Example</h3>
         <!--Add MenuItemStyle objects to the MenuItemStyleCollection -->
         <!--using LevelMenuItemStyles.   -->
         <!--Note that each menu item style represents a level in the menu -->

      <asp:Menu id="MainMenuID"
       Font-Names= "Arial"
        ForeColor="Blue"
        runat="server">
         
         <LevelMenuItemStyles>
         <asp:MenuItemStyle BackColor="Azure" 
             Font-Italic="true"
             Font-Names="Arial"
             ForeColor="Black" />
         
           <asp:MenuItemStyle BackColor="Black" 
             Font-Italic="false"
             Font-Names="Arial"
             ForeColor="White" />
             
         <asp:MenuItemStyle BackColor="Green" 
             Font-Italic="true"
             Font-Names="Arial"
             ForeColor="Yellow" />
       
         </LevelMenuItemStyles>

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

注解

MenuItemStyleCollection用于存储和管理 控件中的 Menu 对象集合MenuItemStyle。 控件Menu使用 MenuItemStyleCollection 类作为 和 LevelSelectedStyles 属性的基础数据类型LevelMenuItemStyles

LevelMenuItemStylesLevelSelectedStyles 属性是单个样式属性 ((如StaticMenuItemStyle) )的替代项。 根据菜单中菜单项的级别,这些属性分别应用于常规菜单项和所选菜单项。 集合中的第一个样式对应于菜单的第一个级别的菜单项样式。 集合中的第二个样式对应于第二级菜单的菜单项样式,依此而过。 LevelMenuItemStylesLevelSelectedStyles 属性最常用于生成菜单,其中特定级别的菜单项具有相同的外观,无论它们是否具有子菜单。

MenuItemStyleCollectionStateManagedCollection 类继承其大部分成员。 有关继承成员的详细信息,请参阅 StateManagedCollection

属性

Count

获取 StateManagedCollection 集合中包含的元素的数量。

(继承自 StateManagedCollection)
Item[Int32]

获取集合中指定索引处的 MenuItemStyle 对象。

方法

Add(MenuItemStyle)

将指定的 MenuItemStyle 对象追加到当前集合的末尾。

Clear()

StateManagedCollection 集合中删除所有项。

(继承自 StateManagedCollection)
Contains(MenuItemStyle)

确定指定的 MenuItemStyle 对象是否在集合中。

CopyTo(Array, Int32)

从特定的数组索引开始,将 StateManagedCollection 集合的元素复制到数组中。

(继承自 StateManagedCollection)
CopyTo(MenuItemStyle[], Int32)

从目标数组的指定索引开始,将 MenuItemStyleCollection 对象中的所有项复制到 MenuItemStyle 对象的一维兼容数组。

CreateKnownType(Int32)

在派生类中替代时,创建实现 IStateManager 的类的实例。 所创建对象的类型基于由 GetKnownTypes() 方法返回的集合的指定成员。

(继承自 StateManagedCollection)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetEnumerator()

返回循环访问 StateManagedCollection 集合的迭代器。

(继承自 StateManagedCollection)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetKnownTypes()

在派生类中替代时,获取 StateManagedCollection 集合可以包含的 IStateManager 类型的数组。

(继承自 StateManagedCollection)
GetType()

获取当前实例的 Type

(继承自 Object)
IndexOf(MenuItemStyle)

确定集合中指定 MenuItemStyle 对象的索引。

Insert(Int32, MenuItemStyle)

将指定的 MenuItemStyle 对象插入集合中指定的索引位置。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
OnClear()

在派生类中替代时,在 Clear() 方法从集合中删除所有项之前执行附加工作。

(继承自 StateManagedCollection)
OnClearComplete()

在派生类中替代时,在 Clear() 方法完成从集合中删除所有项之后执行附加工作。

(继承自 StateManagedCollection)
OnInsert(Int32, Object)

在派生类中替代时,在 IList.Insert(Int32, Object)IList.Add(Object) 方法向集合中添加项之前执行附加工作。

(继承自 StateManagedCollection)
OnInsertComplete(Int32, Object)

在派生类中替代时,在 IList.Insert(Int32, Object)IList.Add(Object) 方法向集合中添加项之后执行附加工作。

(继承自 StateManagedCollection)
OnRemove(Int32, Object)

在派生类中替代时,在 IList.Remove(Object)IList.RemoveAt(Int32) 方法从集合中删除指定项之前执行附加工作。

(继承自 StateManagedCollection)
OnRemoveComplete(Int32, Object)

在派生类中替代时,在 IList.Remove(Object)IList.RemoveAt(Int32) 方法从集合中删除指定项之后执行附加工作。

(继承自 StateManagedCollection)
OnValidate(Object)

在派生类中替代时,验证 StateManagedCollection 集合的一个元素。

(继承自 StateManagedCollection)
Remove(MenuItemStyle)

从集合中移除指定的 MenuItemStyle 对象。

RemoveAt(Int32)

从集合中移除位于指定索引位置的 MenuItemStyle 对象。

SetDirty()

强制将整个 StateManagedCollection 集合序列化为视图状态。

(继承自 StateManagedCollection)
SetDirtyObject(Object)

在派生类中替代时,指示集合包含的 object 将其全部状态记录到视图状态,而不是仅记录更改信息。

(继承自 StateManagedCollection)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

显式接口实现

ICollection.Count

获取 StateManagedCollection 集合中包含的元素的数量。

(继承自 StateManagedCollection)
ICollection.IsSynchronized

获取指示 StateManagedCollection 集合是否已同步(线程安全)的值。 此方法在所有情况下均返回 false

(继承自 StateManagedCollection)
ICollection.SyncRoot

获取可用于同步对 StateManagedCollection 集合的访问的对象。 此方法在所有情况下均返回 null

(继承自 StateManagedCollection)
IEnumerable.GetEnumerator()

返回循环访问 StateManagedCollection 集合的迭代器。

(继承自 StateManagedCollection)
IList.Add(Object)

StateManagedCollection 集合中添加一个项。

(继承自 StateManagedCollection)
IList.Clear()

StateManagedCollection 集合中删除所有项。

(继承自 StateManagedCollection)
IList.Contains(Object)

确定 StateManagedCollection 集合中是否包含特定值。

(继承自 StateManagedCollection)
IList.IndexOf(Object)

确定 StateManagedCollection 集合中的指定项的索引。

(继承自 StateManagedCollection)
IList.Insert(Int32, Object)

将项在指定索引处插入 StateManagedCollection 集合中。

(继承自 StateManagedCollection)
IList.IsFixedSize

获取指示 StateManagedCollection 集合是否具有固定大小的值。 此方法在所有情况下均返回 false

(继承自 StateManagedCollection)
IList.IsReadOnly

获取指示 StateManagedCollection 集合是否为只读的值。

(继承自 StateManagedCollection)
IList.Item[Int32]

获取指定索引处的 IStateManager 元素。

(继承自 StateManagedCollection)
IList.Remove(Object)

StateManagedCollection 集合中删除指定对象的第一个匹配项。

(继承自 StateManagedCollection)
IList.RemoveAt(Int32)

删除指定索引处的 IStateManager 元素。

(继承自 StateManagedCollection)
IStateManager.IsTrackingViewState

获取指示 StateManagedCollection 集合是否保存对其视图状态的更改的值。

(继承自 StateManagedCollection)
IStateManager.LoadViewState(Object)

还原 StateManagedCollection 集合以及其包含的 IStateManager 项的以前保存的视图状态。

(继承自 StateManagedCollection)
IStateManager.SaveViewState()

保存自页回发到服务器后对 StateManagedCollection 集合和该集合包含的每个 IStateManager 对象所做的更改。

(继承自 StateManagedCollection)
IStateManager.TrackViewState()

使 StateManagedCollection 集合及其包含的每个 IStateManager 对象跟踪对它们的视图状态所做的更改,以使它们可以在相同页的请求之间得以保持。

(继承自 StateManagedCollection)

扩展方法

Cast<TResult>(IEnumerable)

IEnumerable 的元素强制转换为指定的类型。

OfType<TResult>(IEnumerable)

根据指定类型筛选 IEnumerable 的元素。

AsParallel(IEnumerable)

启用查询的并行化。

AsQueryable(IEnumerable)

IEnumerable 转换为 IQueryable

适用于

另请参阅