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 Когда элемент управления привязан к источнику данных, Nodes коллекции ChildNodes заполняются автоматически при каждой привязке. Все изменения в коллекциях между привязками будут потеряны. Чтобы сохранить эти изменения, обновите источник данных или вручную перестройте коллекцию при каждой привязке.

Содержит 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)

Вставляет указанный объект TreeNode в объект TreeNodeCollection по указанному индексу.

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)

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

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 на необходимость отслеживания изменений в его состоянии представления.

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

Cast<TResult>(IEnumerable)

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

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.

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

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