Condividi tramite


TreeNodeCollection Classe

Definizione

Rappresenta una raccolta di TreeNode oggetti nel TreeView controllo . Questa classe non può essere ereditata.

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
Ereditarietà
TreeNodeCollection
Implementazioni

Esempio

Nell'esempio seguente viene illustrato come aggiungere nodi a livello di codice e rimuoverli da un oggetto TreeNodeCollection. Si noti che le Nodes proprietà e ChildNodes restituiscono un TreeNodeCollection oggetto .


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

Commenti

La TreeNodeCollection classe viene utilizzata per archiviare e gestire una raccolta di TreeNode oggetti nel TreeView controllo . Il TreeView controllo usa la TreeNodeCollection classe in due delle relative proprietà. Archivia i nodi radice nella Nodes proprietà e i relativi nodi selezionati nella CheckedNodes proprietà . La TreeNodeCollection raccolta viene usata anche per la ChildNodes proprietà per archiviare i nodi figlio ,se presenti.

La TreeNodeCollection classe supporta diversi modi per accedere agli elementi nella raccolta:

  • Utilizzare l'indicizzatore Item[] per recuperare un TreeNode oggetto direttamente in corrispondenza di un indice in base zero specifico.

  • Utilizzare il GetEnumerator metodo per creare un enumeratore che può essere usato per scorrere la raccolta.

  • Usare foreach (C#) o For Each (Visual Basic) per scorrere la raccolta.

  • Utilizzare il CopyTo metodo per copiare il contenuto dell'insieme in un Array oggetto .

È possibile gestire a livello di codice l'oggetto TreeNodeCollection aggiungendo e rimuovendo TreeNode oggetti. Per aggiungere nodi alla raccolta, utilizzare il Add metodo o AddAt . Per rimuovere nodi dalla raccolta, usare il Removemetodo , RemoveAto Clear .

Annotazioni

Quando il TreeView controllo è associato a un'origine dati, le raccolte e ChildNodes vengono popolate automaticamente ogni volta che si verifica l'associazioneNodes. Eventuali modifiche apportate alle raccolte tra associazioni andranno perse. Per conservare queste modifiche, aggiornare l'origine dati o ricompilare manualmente la raccolta ogni volta che si esegue l'associazione.

TreeNodeCollection Contiene proprietà e metodi che consentono di recuperare informazioni sulla raccolta stessa. Per scoprire quanti elementi si trovano nella raccolta, utilizzare la Count proprietà . Se si desidera determinare se l'insieme contiene un determinato TreeNode oggetto, utilizzare il Contains metodo . Per ottenere l'indice di un TreeNode oggetto nell'insieme, utilizzare il IndexOf metodo .

Costruttori

Nome Descrizione
TreeNodeCollection()

Inizializza una nuova istanza della TreeNodeCollection classe utilizzando i valori predefiniti.

TreeNodeCollection(TreeNode)

Inizializza una nuova istanza della TreeNodeCollection classe utilizzando il nodo padre specificato (o proprietario).

Proprietà

Nome Descrizione
Count

Ottiene il numero di elementi nell'oggetto TreeNodeCollection .

IsSynchronized

Ottiene un valore che indica se l'accesso TreeNodeCollection a è sincronizzato (thread-safe).

Item[Int32]

Ottiene l'oggetto TreeNode in corrispondenza dell'indice specificato nell'oggetto TreeNodeCollection .

SyncRoot

Ottiene un oggetto che può essere utilizzato per sincronizzare l'accesso all'oggetto TreeNodeCollection .

Metodi

Nome Descrizione
Add(TreeNode)

Accoda l'oggetto specificato TreeNode alla fine dell'oggetto TreeNodeCollection .

AddAt(Int32, TreeNode)

Inserisce l'oggetto specificato TreeNode in un TreeNodeCollection oggetto in corrispondenza della posizione di indice specificata.

Clear()

Svuota l'oggetto TreeNodeCollection .

Contains(TreeNode)

Determina se l'oggetto specificato TreeNode si trova nell'insieme.

CopyTo(TreeNode[], Int32)

Copia tutti gli elementi dall'oggetto TreeNodeCollection in una matrice unidimensionale compatibile di TreeNode oggetti, a partire dall'indice specificato nella matrice di destinazione.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un enumeratore che può essere utilizzato per scorrere un TreeNodeCollection oggetto .

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IndexOf(TreeNode)

Determina l'indice dell'oggetto specificato TreeNode .

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
Remove(TreeNode)

Rimuove l'oggetto specificato TreeNode dall'oggetto TreeNodeCollection .

RemoveAt(Int32)

Rimuove l'oggetto TreeNode in corrispondenza della posizione di indice specificata dall'oggetto TreeNodeCollection .

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
ICollection.CopyTo(Array, Int32)

Copia tutti gli elementi dall'oggetto TreeNodeCollection in un oggetto unidimensionale Arraycompatibile, a partire dall'indice specificato nella matrice di destinazione.

IStateManager.IsTrackingViewState

Ottiene un valore che indica se l'oggetto TreeNodeCollection sta salvando le modifiche apportate allo stato di visualizzazione.

IStateManager.LoadViewState(Object)

Carica lo TreeNodeCollection stato di visualizzazione salvato in precedenza dell'oggetto.

IStateManager.SaveViewState()

Salva le modifiche apportate allo stato di visualizzazione in un oggetto Object.

IStateManager.TrackViewState()

Indica all'oggetto TreeNodeCollection di tenere traccia delle modifiche apportate allo stato di visualizzazione.

Metodi di estensione

Nome Descrizione
AsParallel(IEnumerable)

Abilita la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un IEnumerable in un IQueryable.

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un IEnumerable al tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un IEnumerable in base a un tipo specificato.

Si applica a

Vedi anche