MenuItemCollection MenuItemCollection MenuItemCollection MenuItemCollection Class

定義

Menu コントロールに含まれるメニュー項目のコレクションを表します。Represents a collection of menu items in a Menu control. このクラスは継承できません。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
継承
MenuItemCollectionMenuItemCollectionMenuItemCollectionMenuItemCollection
実装

次のコード例は、宣言型のItems構文ChildItemsを使用してコレクションとコレクションにデータを設定する方法を示しています。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>

次のコード例は、ルートメニュー項目のMenuItem ChildItemsコレクションにオブジェクトをプログラムで追加する方法を示しています。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>

注釈

クラスは、 Menuコントロール内のオブジェクトのMenuItemコレクションを格納および管理するために使用されます。 MenuItemCollectionThe MenuItemCollection class is used to store and manage a collection of MenuItem objects in the Menu control. コントロールMenuMenuItemCollectionクラスを使用して、そのItemsルートメニュー項目をプロパティに格納します。The Menu control uses the MenuItemCollection class to store its root menu items in the Items property. このコレクションは、メニュー項目のChildItemsサブメニュー項目MenuItem (存在する場合) を格納するために、オブジェクトのプロパティにも使用されます。This collection is also used for the ChildItems property of a MenuItem object to store a menu item's submenu items (if any).

クラスMenuItemCollectionは、コレクション内の項目にアクセスするためのいくつかの方法をサポートしています。The MenuItemCollection class supports several ways to access the items in the collection:

  • インデクサーをItem[Int32]使用して、特定MenuItemの0から始まるインデックスでオブジェクトを直接取得します。Use the Item[Int32] indexer to directly retrieve a MenuItem object at a specific zero-based index.

  • コレクションをGetEnumerator反復処理するために使用できる列挙子を作成するには、メソッドを使用します。Use the GetEnumerator method to create an enumerator that can be used to iterate through the collection.

  • コレクションのCopyTo内容を配列にコピーするには、メソッドを使用します。Use the CopyTo method to copy the contents of the collection into an array.

オブジェクトを追加および削除MenuItemCollection MenuItemすることによって、オブジェクトをプログラムで管理できます。You can programmatically manage a MenuItemCollection object by adding and removing MenuItem objects. メニュー項目をコレクションに追加するにAdd AddAtは、メソッドまたはメソッドを使用します。To add menu items to the collection, use the Add or the AddAt method. コレクションからノードを削除するには、 Remove、、 RemoveAtまたはClearメソッドを使用します。To remove nodes from the collection, use the Remove, the RemoveAt, or the Clear method.

注意

コントロールがデータソースItemsにバインドされると、バインドがChildItems発生するたびにおよびコレクションが自動的に設定されます。 MenuWhen the Menu control is bound to a data source, the Items and ChildItems collections are automatically populated each time binding occurs. バインド間のコレクションに対する変更はすべて失われます。Any changes to the collections between bindings will be lost. これらの変更を保持するには、データソースを更新するか、バインドするたびに手動でコレクションを再構築します。To retain these changes, either update the data source or manually rebuild the collection each time you bind.

クラスMenuItemCollectionには、コレクション自体に関する情報を取得できるようにするプロパティとメソッドが含まれています。The MenuItemCollection class contains properties and methods that allow you to retrieve information about the collection itself. コレクション内の項目の数を確認するには、 Countプロパティを使用します。To find out how many items are in the collection, use the Count property. コレクションに特定MenuItemのオブジェクトが含まれているかどうかを判断Containsするには、メソッドを使用します。If you want to determine whether the collection contains a certain MenuItem object, use the Contains method. コレクション内のMenuItemオブジェクトのインデックスを取得するには、 IndexOfメソッドを使用します。To get the index of a MenuItem object in the collection, use the IndexOf method.

コンストラクター

MenuItemCollection() MenuItemCollection() MenuItemCollection() MenuItemCollection()

既定値を使用して、MenuItemCollection クラスの新しいインスタンスを初期化します。Initializes a new instance of the MenuItemCollection class using the default values.

MenuItemCollection(MenuItem) MenuItemCollection(MenuItem) MenuItemCollection(MenuItem) MenuItemCollection(MenuItem)

親メニュー項目 (または所有者) を指定して、MenuItemCollection クラスの新しいインスタンスを初期化します。Initializes a new instance of the MenuItemCollection class using the specified parent menu item (or owner).

プロパティ

Count Count Count Count

現在の MenuItemCollection オブジェクト内のメニュー項目の数を取得します。Gets the number of menu items contained in the current MenuItemCollection object.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

MenuItemCollection オブジェクトへのアクセスが同期されている (スレッド セーフである) かどうかを示す値を取得します。Gets a value indicating whether access to the MenuItemCollection object is synchronized (thread safe).

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

現在の MenuItem オブジェクト内の指定したインデックス位置にある MenuItemCollection オブジェクトを取得します。Gets the MenuItem object at the specified index in the current MenuItemCollection object.

SyncRoot SyncRoot SyncRoot SyncRoot

MenuItemCollection オブジェクトへのアクセスを同期するために使用できるオブジェクトを取得します。Gets an object that can be used to synchronize access to the MenuItemCollection object.

メソッド

Add(MenuItem) Add(MenuItem) Add(MenuItem) Add(MenuItem)

指定した MenuItem オブジェクトを現在の MenuItemCollection オブジェクトの末尾に追加します。Appends the specified MenuItem object to the end of the current MenuItemCollection object.

AddAt(Int32, MenuItem) AddAt(Int32, MenuItem) AddAt(Int32, MenuItem) AddAt(Int32, MenuItem)

指定した MenuItem オブジェクトを、現在の MenuItemCollection オブジェクトの指定したインデックス位置に挿入します。Inserts the specified MenuItem object in the current MenuItemCollection object at the specified index location.

Clear() Clear() Clear() Clear()

現在の MenuItemCollection オブジェクトからすべての項目を削除します。Removes all items from the current MenuItemCollection object.

Contains(MenuItem) Contains(MenuItem) Contains(MenuItem) Contains(MenuItem)

指定した MenuItem オブジェクトがコレクション内にあるかどうかを確認します。Determines whether the specified MenuItem object is in the collection.

CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32)

MenuItemCollection オブジェクトのすべての項目を、互換性のある 1 次元の Array にコピーします。コピー先の配列の指定したインデックスからコピーが開始されます。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) CopyTo(MenuItem[], Int32) CopyTo(MenuItem[], Int32) CopyTo(MenuItem[], Int32)

MenuItemCollection のすべての項目を互換性のある 1 次元の MenuItem オブジェクト配列にコピーします。コピー先の配列の指定したインデックスからコピーが開始されます。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) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

現在の MenuItemCollection オブジェクト内の項目を反復処理するために使用できる列挙子を返します。Returns an enumerator that can be used to iterate through the items in the current MenuItemCollection object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
IndexOf(MenuItem) IndexOf(MenuItem) IndexOf(MenuItem) IndexOf(MenuItem)

コレクション内の指定した MenuItem オブジェクトのインデックスを確認します。Determines the index of the specified MenuItem object in the collection.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
Remove(MenuItem) Remove(MenuItem) Remove(MenuItem) Remove(MenuItem)

指定した MenuItem オブジェクトを MenuItemCollection オブジェクトから削除します。Removes the specified MenuItem object from the MenuItemCollection object.

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)

指定したインデックス位置にある MenuItem オブジェクトを現在の MenuItemCollection オブジェクトから削除します。Removes the MenuItem object at the specified index location from the current MenuItemCollection object.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

明示的なインターフェイスの実装

IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState IStateManager.IsTrackingViewState

MenuItemCollection オブジェクトがビューステートへの変更を保存しているかどうかを示す値を取得します。Gets a value that indicates whether the MenuItemCollection object is saving changes to its view state.

IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object) IStateManager.LoadViewState(Object)

MenuItemCollection オブジェクトが前回保存したビューステートを読み込みます。Loads the MenuItemCollection object's previously saved view state.

IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState() IStateManager.SaveViewState()

ビューステートへの変更を Object に保存します。Saves the changes to view state to an Object.

IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState() IStateManager.TrackViewState()

ビュー ステートへの変更を追跡するように MenuItemCollection オブジェクトに指示します。Instructs the MenuItemCollection object to track changes to its view state.

拡張メソッド

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

クエリの並列化を有効にします。Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.

適用対象

こちらもご覧ください