Поделиться через


TreeNodeCollection Класс

Определение

Представляет коллекцию TreeNode объектов в элементе TreeView управления. Этот класс не может быть унаследован.

public ref class TreeNodeCollection sealed : System::Collections::ICollection, System::Web::UI::IStateManager
public sealed class TreeNodeCollection : System.Collections.ICollection, System.Web.UI.IStateManager
type TreeNodeCollection = class
    interface ICollection
    interface IEnumerable
    interface IStateManager
Public NotInheritable Class TreeNodeCollection
Implements ICollection, IStateManager
Наследование
TreeNodeCollection
Реализации

Примеры

В следующем примере показано, как программным способом добавлять узлы и удалять их из TreeNodeCollection. Обратите внимание, что Nodes свойства ChildNodes возвращают TreeNodeCollection объект.


<%@ 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 Remove methods to programmatically 
      // remove the Appendix C node and replace it with a new 
      // node. 
      LinksTreeView.Nodes.Remove(LinksTreeView.Nodes[3]);
      LinksTreeView.Nodes.Add(new TreeNode("New Appendix C"));

      // Use the AddAt and RemoveAt methods to programmatically 
      // remove the Chapter One node and replace it with a new node.
      LinksTreeView.Nodes[0].ChildNodes.RemoveAt(0);
      LinksTreeView.Nodes[0].ChildNodes.AddAt(0, new TreeNode("New Chapter One"));

      // Use the Clear method to remove all the child nodes of the 
      // Chapter Two node.
      LinksTreeView.Nodes[0].ChildNodes[1].ChildNodes.Clear();

    }

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeNodeCollection Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeNodeCollection Example</h3>
    
      <asp:TreeView id="LinksTreeView"
        Font-Names= "Arial"
        ForeColor="Blue"
        runat="server">
         
        <LevelStyles>
        
          <asp:TreeNodeStyle ChildNodesPadding="10" 
            Font-Bold="true" 
            Font-Size="12pt" 
            ForeColor="DarkGreen"/>
          <asp:TreeNodeStyle ChildNodesPadding="5" 
            Font-Bold="true" 
            Font-Size="10pt"/>
          <asp:TreeNodeStyle ChildNodesPadding="5" 
            Font-UnderLine="true" 
            Font-Size="10pt"/>
          <asp:TreeNodeStyle ChildNodesPadding="10" 
            Font-Size="8pt"/>
             
        </LevelStyles>
         
        <Nodes>
        
          <asp:TreeNode Text="Table of Contents"
            Expanded="true">
             
            <asp:TreeNode Text="Chapter One">
            
              <asp:TreeNode Text="Section 1.0">
              
                <asp:TreeNode Text="Topic 1.0.1"/>
                <asp:TreeNode Text="Topic 1.0.2"/>
                <asp:TreeNode Text="Topic 1.0.3"/>
              
              </asp:TreeNode>
              
              <asp:TreeNode Text="Section 1.1">
              
                <asp:TreeNode Text="Topic 1.1.1"/>
                <asp:TreeNode Text="Topic 1.1.2"/>
                <asp:TreeNode Text="Topic 1.1.3"/>
                <asp:TreeNode Text="Topic 1.1.4"/>
              
              </asp:TreeNode>
            
            </asp:TreeNode>
            
            <asp:TreeNode Text="Chapter Two">
            
              <asp:TreeNode Text="Section 2.0">
              
                <asp:TreeNode Text="Topic 2.0.1"/>
                <asp:TreeNode Text="Topic 2.0.2"/>
              
              </asp:TreeNode>
            
            </asp:TreeNode>
            
          </asp:TreeNode>
          
          <asp:TreeNode Text="Appendix A" />
          <asp:TreeNode Text="Appendix B" />
          <asp:TreeNode Text="Appendix C" />
        
        </Nodes>
        
      </asp:TreeView>

    </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 Remove methods to programmatically 
      ' remove the Appendix C node and replace it with a new 
      ' node. 
      LinksTreeView.Nodes.Remove(LinksTreeView.Nodes(3))
      LinksTreeView.Nodes.Add(New TreeNode("New Appendix C"))

      ' Use the AddAt and RemoveAt methods to programmatically 
      ' remove the Chapter One node and replace it with a new node.
      LinksTreeView.Nodes(0).ChildNodes.RemoveAt(0)
      LinksTreeView.Nodes(0).ChildNodes.AddAt(0, New TreeNode("New Chapter One"))

      ' Use the Clear method to remove all the child nodes of the 
      ' Chapter Two node.
      LinksTreeView.Nodes(0).ChildNodes(1).ChildNodes.Clear()

    End If

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeNodeCollection Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeNodeCollection Example</h3>
    
      <asp:TreeView id="LinksTreeView"
        Font-Names= "Arial"
        ForeColor="Blue"
        runat="server">
         
        <LevelStyles>
        
          <asp:TreeNodeStyle ChildNodesPadding="10" 
            Font-Bold="true" 
            Font-Size="12pt" 
            ForeColor="DarkGreen"/>
          <asp:TreeNodeStyle ChildNodesPadding="5" 
            Font-Bold="true" 
            Font-Size="10pt"/>
          <asp:TreeNodeStyle ChildNodesPadding="5" 
            Font-UnderLine="true" 
            Font-Size="10pt"/>
          <asp:TreeNodeStyle ChildNodesPadding="10" 
            Font-Size="8pt"/>
             
        </LevelStyles>
         
        <Nodes>
        
          <asp:TreeNode Text="Table of Contents"
            Expanded="true">
             
            <asp:TreeNode Text="Chapter One">
            
              <asp:TreeNode Text="Section 1.0">
              
                <asp:TreeNode Text="Topic 1.0.1"/>
                <asp:TreeNode Text="Topic 1.0.2"/>
                <asp:TreeNode Text="Topic 1.0.3"/>
              
              </asp:TreeNode>
              
              <asp:TreeNode Text="Section 1.1">
              
                <asp:TreeNode Text="Topic 1.1.1"/>
                <asp:TreeNode Text="Topic 1.1.2"/>
                <asp:TreeNode Text="Topic 1.1.3"/>
                <asp:TreeNode Text="Topic 1.1.4"/>
              
              </asp:TreeNode>
            
            </asp:TreeNode>
            
            <asp:TreeNode Text="Chapter Two">
            
              <asp:TreeNode Text="Section 2.0">
              
                <asp:TreeNode Text="Topic 2.0.1"/>
                <asp:TreeNode Text="Topic 2.0.2"/>
              
              </asp:TreeNode>
            
            </asp:TreeNode>
            
          </asp:TreeNode>
          
          <asp:TreeNode Text="Appendix A" />
          <asp:TreeNode Text="Appendix B" />
          <asp:TreeNode Text="Appendix C" />
        
        </Nodes>
        
      </asp:TreeView>

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

Комментарии

Класс TreeNodeCollection используется для хранения коллекции TreeNode объектов в элементе управления и управления ими TreeView . Элемент TreeView управления использует TreeNodeCollection класс в двух его свойствах. Он хранит корневые узлы в свойстве Nodes и выбранные узлы в свойстве CheckedNodes . Коллекция TreeNodeCollection также используется для свойства для ChildNodes хранения дочерних узлов (если таковые есть).

Класс TreeNodeCollection поддерживает несколько способов доступа к элементам в коллекции:

  • Item[] Используйте индексатор для получения TreeNode объекта непосредственно в определенном отсчитываемом от нуля индексе.

  • GetEnumerator Используйте метод для создания перечислителя, который можно использовать для итерации по коллекции.

  • Используйте foreach (C#) или For Each (Visual Basic) для итерации по коллекции.

  • CopyTo Используйте метод для копирования содержимого коллекции в Array объект.

Вы можете программно управлять им TreeNodeCollection , добавляя и удаляя TreeNode объекты. Чтобы добавить узлы в коллекцию, используйте Add или AddAt метод. Чтобы удалить узлы из коллекции, используйте RemoveRemoveAtметод , или Clear метод.

Замечание

TreeView Когда элемент управления привязан к источнику данных, NodesChildNodes коллекции автоматически заполняются при каждом выполнении привязки. Все изменения в коллекциях между привязками будут потеряны. Чтобы сохранить эти изменения, обновите источник данных или вручную перестроите коллекцию при каждой привязке.

Содержит TreeNodeCollection свойства и методы, позволяющие получить сведения о самой коллекции. Чтобы узнать, сколько элементов находится в коллекции, используйте Count свойство. Если вы хотите определить, содержит ли коллекция определенный TreeNode объект, используйте Contains этот метод. Чтобы получить индекс TreeNode объекта в коллекции, используйте IndexOf метод.

Конструкторы

Имя Описание
TreeNodeCollection()

Инициализирует новый экземпляр класса с помощью значений TreeNodeCollection по умолчанию.

TreeNodeCollection(TreeNode)

Инициализирует новый экземпляр класса с помощью указанного родительского TreeNodeCollection узла (или владельца).

Свойства

Имя Описание
Count

Возвращает количество элементов в объекте TreeNodeCollection .

IsSynchronized

Возвращает значение, указывающее, синхронизирован ли доступ к TreeNodeCollection синхронизированному (потокобезопасно).

Item[Int32]

TreeNode Возвращает объект по указанному индексу в объектеTreeNodeCollection.

SyncRoot

Возвращает объект, который можно использовать для синхронизации доступа к объекту TreeNodeCollection .

Методы

Имя Описание
Add(TreeNode)

Добавляет указанный TreeNode объект в конец TreeNodeCollection объекта.

AddAt(Int32, TreeNode)

Вставляет указанный TreeNodeTreeNodeCollection объект в объект по указанному расположению индекса.

Clear()

Очищает TreeNodeCollection объект.

Contains(TreeNode)

Определяет, находится ли указанный TreeNode объект в коллекции.

CopyTo(TreeNode[], Int32)

Копирует все элементы из TreeNodeCollection объекта в совместимый одномерный массив объектов, начиная с указанного TreeNode индекса в целевом массиве.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetEnumerator()

Возвращает перечислитель, который можно использовать для итерации через TreeNodeCollection объект.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IndexOf(TreeNode)

Определяет индекс указанного TreeNode объекта.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
Remove(TreeNode)

Удаляет указанный TreeNodeTreeNodeCollection объект из объекта.

RemoveAt(Int32)

Удаляет TreeNode объект по указанному расположению индекса из TreeNodeCollection объекта.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
ICollection.CopyTo(Array, Int32)

Копирует все элементы из TreeNodeCollection объекта в совместимый одномерный Array, начиная с указанного индекса в целевом массиве.

IStateManager.IsTrackingViewState

Возвращает значение, указывающее, сохраняет ли TreeNodeCollection объект изменения в состоянии представления.

IStateManager.LoadViewState(Object)

TreeNodeCollection Загружает ранее сохраненное состояние представления объекта.

IStateManager.SaveViewState()

Сохраняет изменения для просмотра состояния Objectв объекте .

IStateManager.TrackViewState()

Указывает TreeNodeCollection отслеживать изменения состояния представления.

Методы расширения

Имя Описание
AsParallel(IEnumerable)

Включает параллелизацию запроса.

AsQueryable(IEnumerable)

Преобразует IEnumerable в IQueryable.

Cast<TResult>(IEnumerable)

Приведение элементов IEnumerable к указанному типу.

OfType<TResult>(IEnumerable)

Фильтрует элементы IEnumerable на основе указанного типа.

Применяется к

См. также раздел