TreeNodeCollection 클래스

정의

TreeNode 개체의 컬렉션을 나타냅니다.Represents a collection of TreeNode objects.

public ref class TreeNodeCollection : System::Collections::IList
public class TreeNodeCollection : System.Collections.IList
type TreeNodeCollection = class
    interface IList
    interface ICollection
    interface IEnumerable
Public Class TreeNodeCollection
Implements IList
상속
TreeNodeCollection
구현

예제

다음 코드 예제에서 고객 정보를 표시 한 TreeView 제어 합니다.The following code example displays customer information in a TreeView control. 루트 트리 노드 고객 이름을 표시 하 고 자식 트리 노드를 각 고객에 게 할당 순서 번호를 표시 합니다.The root tree nodes display customer names, and the child tree nodes display the order numbers assigned to each customer. 이 예제에서는 1,000 명 고객이 15 주문과 함께 표시 됩니다.In this example, 1,000 customers are displayed with 15 orders each. 다시 합니다 TreeView 를 사용 하 여 표시 되지 않습니다는 BeginUpdateEndUpdate 메서드 및 대기 Cursor 표시 됩니다 하는 동안는 TreeView 만들고 그리는 TreeNode 개체.The repainting of the TreeView is suppressed by using the BeginUpdate and EndUpdate methods, and a wait Cursor is displayed while the TreeView creates and paints the TreeNode objects. 이 예제를 실행 하려면를 Customer 개체의 컬렉션을 저장할 수 있는 Order 개체입니다.This example requires that you have a Customer object that can hold a collection of Order objects. 인스턴스를 만든도 필요는 TreeView 컨트롤을 Form입니다.It also requires that you have created an instance of a TreeView control on a Form.

// The basic Customer class.
ref class Customer: public System::Object
{
private:
   String^ custName;

protected:
   ArrayList^ custOrders;

public:
   Customer( String^ customername )
   {
      custName = "";
      custOrders = gcnew ArrayList;
      this->custName = customername;
   }


   property String^ CustomerName 
   {
      String^ get()
      {
         return this->custName;
      }

      void set( String^ value )
      {
         this->custName = value;
      }

   }

   property ArrayList^ CustomerOrders 
   {
      ArrayList^ get()
      {
         return this->custOrders;
      }

   }

};


// End Customer class
// The basic customer Order class.
ref class Order: public System::Object
{
private:
   String^ ordID;

public:
   Order( String^ orderid )
   {
      ordID = "";
      this->ordID = orderid;
   }


   property String^ OrderID 
   {
      String^ get()
      {
         return this->ordID;
      }

      void set( String^ value )
      {
         this->ordID = value;
      }

   }

};
// End Order class



void FillMyTreeView()
{
   // Add customers to the ArrayList of Customer objects.
   for ( int x = 0; x < 1000; x++ )
   {
      customerArray->Add( gcnew Customer( "Customer " + x ) );
   }
   
   // Add orders to each Customer object in the ArrayList.
   IEnumerator^ myEnum = customerArray->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Customer^ customer1 = safe_cast<Customer^>(myEnum->Current);
      for ( int y = 0; y < 15; y++ )
      {
         customer1->CustomerOrders->Add( gcnew Order( "Order " + y ) );
      }
   }

   // Display a wait cursor while the TreeNodes are being created.
   ::Cursor::Current = gcnew System::Windows::Forms::Cursor( "MyWait.cur" );
   
   // Suppress repainting the TreeView until all the objects have been created.
   treeView1->BeginUpdate();
   
   // Clear the TreeView each time the method is called.
   treeView1->Nodes->Clear();
   
   // Add a root TreeNode for each Customer object in the ArrayList.
   myEnum = customerArray->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Customer^ customer2 = safe_cast<Customer^>(myEnum->Current);
      treeView1->Nodes->Add( gcnew TreeNode( customer2->CustomerName ) );
      
      // Add a child treenode for each Order object in the current Customer object.
      IEnumerator^ myEnum = customer2->CustomerOrders->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         Order^ order1 = safe_cast<Order^>(myEnum->Current);
         treeView1->Nodes[ customerArray->IndexOf( customer2 ) ]->Nodes->Add( gcnew TreeNode( customer2->CustomerName + "." + order1->OrderID ) );
      }
   }
   
   // Reset the cursor to the default for all controls.
   ::Cursor::Current = Cursors::Default;
   
   // Begin repainting the TreeView.
   treeView1->EndUpdate();
}

// The basic Customer class.
public class Customer : System.Object
{
   private string custName = "";
   protected ArrayList custOrders = new ArrayList();

   public Customer(string customername)
   {
      this.custName = customername;
   }

   public string CustomerName
   {      
      get{return this.custName;}
      set{this.custName = value;}
   }

   public ArrayList CustomerOrders 
   {
      get{return this.custOrders;}
   }

} // End Customer class 


// The basic customer Order class.
public class Order : System.Object
{
   private string ordID = "";

   public Order(string orderid)
   {
      this.ordID = orderid;
   }

   public string OrderID
   {      
      get{return this.ordID;}
      set{this.ordID = value;}
   }

} // End Order class

// Create a new ArrayList to hold the Customer objects.
private ArrayList customerArray = new ArrayList(); 

private void FillMyTreeView()
{
   // Add customers to the ArrayList of Customer objects.
   for(int x=0; x<1000; x++)
   {
      customerArray.Add(new Customer("Customer" + x.ToString()));
   }

   // Add orders to each Customer object in the ArrayList.
   foreach(Customer customer1 in customerArray)
   {
      for(int y=0; y<15; y++)
      {
         customer1.CustomerOrders.Add(new Order("Order" + y.ToString()));    
      }
   }

   // Display a wait cursor while the TreeNodes are being created.
   Cursor.Current = new Cursor("MyWait.cur");
        
   // Suppress repainting the TreeView until all the objects have been created.
   treeView1.BeginUpdate();

   // Clear the TreeView each time the method is called.
   treeView1.Nodes.Clear();

   // Add a root TreeNode for each Customer object in the ArrayList.
   foreach(Customer customer2 in customerArray)
   {
      treeView1.Nodes.Add(new TreeNode(customer2.CustomerName));
          
      // Add a child treenode for each Order object in the current Customer object.
      foreach(Order order1 in customer2.CustomerOrders)
      {
         treeView1.Nodes[customerArray.IndexOf(customer2)].Nodes.Add(
           new TreeNode(customer2.CustomerName + "." + order1.OrderID));
      }
   }

   // Reset the cursor to the default for all controls.
   Cursor.Current = Cursors.Default;

   // Begin repainting the TreeView.
   treeView1.EndUpdate();
}
Public Class Customer
   Inherits [Object]
   Private custName As String = ""
   Friend custOrders As New ArrayList()

   Public Sub New(ByVal customername As String)
      Me.custName = customername
   End Sub

   Public Property CustomerName() As String
      Get
         Return Me.custName
      End Get
      Set(ByVal Value As String)
         Me.custName = Value
      End Set
   End Property

   Public ReadOnly Property CustomerOrders() As ArrayList
      Get
         Return Me.custOrders
      End Get
   End Property
End Class


Public Class Order
   Inherits [Object]
   Private ordID As String

   Public Sub New(ByVal orderid As String)
      Me.ordID = orderid
   End Sub

   Public Property OrderID() As String
      Get
         Return Me.ordID
      End Get
      Set(ByVal Value As String)
         Me.ordID = Value
      End Set
   End Property
End Class

' Create a new ArrayList to hold the Customer objects.
Private customerArray As New ArrayList()

Private Sub FillMyTreeView()
   ' Add customers to the ArrayList of Customer objects.
   Dim x As Integer
   For x = 0 To 999
      customerArray.Add(New Customer("Customer" + x.ToString()))
   Next x

   ' Add orders to each Customer object in the ArrayList.
   Dim customer1 As Customer
   For Each customer1 In customerArray
      Dim y As Integer
      For y = 0 To 14
         customer1.CustomerOrders.Add(New Order("Order" + y.ToString()))
      Next y
   Next customer1

   ' Display a wait cursor while the TreeNodes are being created.
   Cursor.Current = New Cursor("MyWait.cur")

   ' Suppress repainting the TreeView until all the objects have been created.
   treeView1.BeginUpdate()

   ' Clear the TreeView each time the method is called.
   treeView1.Nodes.Clear()

   ' Add a root TreeNode for each Customer object in the ArrayList.
   Dim customer2 As Customer
   For Each customer2 In customerArray
      treeView1.Nodes.Add(New TreeNode(customer2.CustomerName))

      ' Add a child TreeNode for each Order object in the current Customer object.
      Dim order1 As Order
      For Each order1 In customer2.CustomerOrders
         treeView1.Nodes(customerArray.IndexOf(customer2)).Nodes.Add( _
    New TreeNode(customer2.CustomerName + "." + order1.OrderID))
      Next order1
   Next customer2

   ' Reset the cursor to the default for all controls.
   Cursor.Current = System.Windows.Forms.Cursors.Default

   ' Begin repainting the TreeView.
   treeView1.EndUpdate()
End Sub

설명

합니다 Add, Remove, 및 RemoveAt 메서드를 사용 하면 추가 하 고 컬렉션에서 개별 트리 노드를 제거 합니다.The Add, Remove, and RemoveAt methods enable you to add and remove individual tree nodes from the collection.

참고

컬렉션을 열거 하 고 노드를 제거는 지원 되지 않습니다.Enumerating the collection and removing nodes is not supported.

사용할 수도 있습니다는 AddRange 또는 Clear 메서드를 추가 하거나 컬렉션에서 모든 트리 노드를 제거 합니다.You can also use the AddRange or Clear methods to add or remove all the tree nodes from the collection.

클래스에서 상속할 수 없습니다는 TreeNodeCollection 클래스입니다.Classes cannot inherit from the TreeNodeCollection class.

속성

Count

컬렉션에 있는 TreeNode 개체의 총수를 가져옵니다.Gets the total number of TreeNode objects in the collection.

IsReadOnly

컬렉션이 읽기 전용인지를 나타내는 값을 가져옵니다.Gets a value indicating whether the collection is read-only.

Item[Int32]

컬렉션의 지정한 인덱싱된 위치에 있는 TreeNode를 가져오거나 설정합니다.Gets or sets the TreeNode at the specified indexed location in the collection.

Item[String]

지정된 키가 있는 트리 노드를 컬렉션에서 가져옵니다.Gets the tree node with the specified key from the collection.

메서드

Add(String)

현재 트리 노드 컬렉션의 끝에 지정된 레이블 텍스트를 사용하여 새 트리 노드를 추가합니다.Adds a new tree node with the specified label text to the end of the current tree node collection.

Add(String, String)

지정된 키 및 텍스트가 있는 트리 노드를 새로 만들어 컬렉션에 추가합니다.Creates a new tree node with the specified key and text, and adds it to the collection.

Add(String, String, Int32)

지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션에 추가합니다.Creates a tree node with the specified key, text, and image, and adds it to the collection.

Add(String, String, Int32, Int32)

지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션에 추가합니다.Creates a tree node with the specified key, text, and images, and adds it to the collection.

Add(String, String, String)

지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션에 추가합니다.Creates a tree node with the specified key, text, and image, and adds it to the collection.

Add(String, String, String, String)

지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션에 추가합니다.Creates a tree node with the specified key, text, and images, and adds it to the collection.

Add(TreeNode)

이전에 만든 트리 노드를 트리 노드 컬렉션 끝에 추가합니다.Adds a previously created tree node to the end of the tree node collection.

AddRange(TreeNode[])

이전에 만든 트리 노드의 배열을 컬렉션에 추가합니다.Adds an array of previously created tree nodes to the collection.

Clear()

컬렉션에서 트리 노드를 모두 제거합니다.Removes all tree nodes from the collection.

Contains(TreeNode)

지정된 트리 노드가 컬렉션의 멤버인지 확인합니다.Determines whether the specified tree node is a member of the collection.

ContainsKey(String)

지정된 키가 있는 트리 노드가 컬렉션에 있는지 여부를 확인합니다.Determines whether the collection contains a tree node with the specified key.

CopyTo(Array, Int32)

배열 내의 지정된 위치에서 기존 배열로 전체 컬렉션을 복사합니다.Copies the entire collection into an existing array at a specified location within the array.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
Find(String, Boolean)

지정된 키가 있는 트리 노드를 찾고 선택적으로 하위 노드를 검색합니다.Finds the tree nodes with specified key, optionally searching subnodes.

GetEnumerator()

트리 노드 컬렉션 전체에서 반복하는 데 사용할 수 있는 열거자를 반환합니다.Returns an enumerator that can be used to iterate through the tree node collection.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
IndexOf(TreeNode)

컬렉션에 있는 지정된 트리 노드의 인덱스를 반환합니다.Returns the index of the specified tree node in the collection.

IndexOfKey(String)

지정된 키가 있는 트리 노드 중 맨 처음 발견된 트리 노드의 인덱스를 반환합니다.Returns the index of the first occurrence of a tree node with the specified key.

Insert(Int32, String)

지정된 텍스트가 있는 트리 노드를 만들어 지정된 인덱스에 삽입합니다.Creates a tree node with the specified text and inserts it at the specified index.

Insert(Int32, String, String)

지정된 텍스트 및 키가 있는 트리 노드를 만들어 컬렉션에 삽입합니다.Creates a tree node with the specified text and key, and inserts it into the collection.

Insert(Int32, String, String, Int32)

지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션의 지정된 인덱스에 삽입합니다.Creates a tree node with the specified key, text, and image, and inserts it into the collection at the specified index.

Insert(Int32, String, String, Int32, Int32)

지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션의 지정된 인덱스에 삽입합니다.Creates a tree node with the specified key, text, and images, and inserts it into the collection at the specified index.

Insert(Int32, String, String, String)

지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션의 지정된 인덱스에 삽입합니다.Creates a tree node with the specified key, text, and image, and inserts it into the collection at the specified index.

Insert(Int32, String, String, String, String)

지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션의 지정된 인덱스에 삽입합니다.Creates a tree node with the specified key, text, and images, and inserts it into the collection at the specified index.

Insert(Int32, TreeNode)

기존 트리 노드를 트리 노드 컬렉션의 지정된 위치에 삽입합니다.Inserts an existing tree node into the tree node collection at the specified location.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
Remove(TreeNode)

트리 노드 컬렉션에서 지정된 트리 노드를 제거합니다.Removes the specified tree node from the tree node collection.

RemoveAt(Int32)

트리 노드 컬렉션에서 지정된 인덱스의 트리 노드를 제거합니다.Removes a tree node from the tree node collection at a specified index.

RemoveByKey(String)

지정된 키가 있는 트리 노드를 컬렉션에서 제거합니다.Removes the tree node with the specified key from the collection.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

ICollection.IsSynchronized

해당 컬렉션에 대한 액세스가 동기화되어 스레드로부터 안전하게 보호되는지를 나타내는 값을 가져옵니다.Gets a value indicating whether access to the collection is synchronized (thread safe).

ICollection.SyncRoot

컬렉션에 대한 액세스를 동기화하는 데 사용할 수 있는 개체를 가져옵니다.Gets an object that can be used to synchronize access to the collection.

IList.Add(Object)

개체를 트리 노드 컬렉션의 끝에 추가합니다.Adds an object to the end of the tree node collection.

IList.Contains(Object)

지정된 트리 노드가 컬렉션의 멤버인지 확인합니다.Determines whether the specified tree node is a member of the collection.

IList.IndexOf(Object)

컬렉션에 있는 지정된 트리 노드의 인덱스를 반환합니다.Returns the index of the specified tree node in the collection.

IList.Insert(Int32, Object)

기존 트리 노드를 지정된 위치의 트리 노드 컬렉션에 삽입합니다.Inserts an existing tree node in the tree node collection at the specified location.

IList.IsFixedSize

트리 노드 컬렉션의 크기가 고정되어 있는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the tree node collection has a fixed size.

IList.Item[Int32]

컬렉션의 지정된 인덱스에 있는 트리 노드를 가져오거나 설정합니다.Gets or sets the tree node at the specified index in the collection.

IList.Remove(Object)

트리 노드 컬렉션에서 지정된 트리 노드를 제거합니다.Removes the specified tree node from the tree node collection.

확장 메서드

Cast<TResult>(IEnumerable)

IEnumerable의 요소를 지정된 형식으로 캐스팅합니다.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

지정된 형식에 따라 IEnumerable의 요소를 필터링합니다.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

쿼리를 병렬화할 수 있도록 합니다.Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerableIQueryable로 변환합니다.Converts an IEnumerable to an IQueryable.

적용 대상

추가 정보