TreeNodeCollection 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
TreeNode 개체의 컬렉션을 나타냅니다.
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 . 루트 트리 노드는 고객 이름을 표시하고 자식 트리 노드는 각 고객에게 할당된 주문 번호를 표시합니다. 이 예제에서는 1,000명의 고객이 각각 15개의 주문으로 표시됩니다. 개체를 만들고 그리는 동안 TreeView 에는 메서드 및 Cursor EndUpdate 메서드를 사용하여 BeginUpdate 다시 그리 TreeView 기를 표시하지 TreeNode 않습니다. 이 예제에서는 Customer
개체 컬렉션을 Order
보유할 수 있는 개체가 있어야 합니다. 또한 에 컨트롤의 인스턴스를 TreeView 만들어야 합니다 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 메서드를 사용하면 컬렉션에서 개별 트리 노드를 추가하고 제거할 수 있습니다.
참고
컬렉션을 열거하고 노드를 제거하는 것은 지원되지 않습니다.
또는 Clear 메서드를 AddRange 사용하여 컬렉션에서 모든 트리 노드를 추가하거나 제거할 수도 있습니다.
클래스는 클래스에서 상속할 TreeNodeCollection 수 없습니다.
속성
Count |
컬렉션에 있는 TreeNode 개체의 총수를 가져옵니다. |
IsReadOnly |
컬렉션이 읽기 전용인지를 나타내는 값을 가져옵니다. |
Item[Int32] |
컬렉션의 지정한 인덱싱된 위치에 있는 TreeNode를 가져오거나 설정합니다. |
Item[String] |
지정된 키가 있는 트리 노드를 컬렉션에서 가져옵니다. |
메서드
Add(String) |
현재 트리 노드 컬렉션의 끝에 지정된 레이블 텍스트를 사용하여 새 트리 노드를 추가합니다. |
Add(String, String) |
지정된 키 및 텍스트가 있는 트리 노드를 새로 만들어 컬렉션에 추가합니다. |
Add(String, String, Int32) |
지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션에 추가합니다. |
Add(String, String, Int32, Int32) |
지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션에 추가합니다. |
Add(String, String, String) |
지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션에 추가합니다. |
Add(String, String, String, String) |
지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션에 추가합니다. |
Add(TreeNode) |
이전에 만든 트리 노드를 트리 노드 컬렉션 끝에 추가합니다. |
AddRange(TreeNode[]) |
이전에 만든 트리 노드의 배열을 컬렉션에 추가합니다. |
Clear() |
컬렉션에서 트리 노드를 모두 제거합니다. |
Contains(TreeNode) |
지정된 트리 노드가 컬렉션의 멤버인지 확인합니다. |
ContainsKey(String) |
지정된 키가 있는 트리 노드가 컬렉션에 있는지 여부를 확인합니다. |
CopyTo(Array, Int32) |
배열 내의 지정된 위치에서 기존 배열로 전체 컬렉션을 복사합니다. |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
Find(String, Boolean) |
지정된 키가 있는 트리 노드를 찾고 선택적으로 하위 노드를 검색합니다. |
GetEnumerator() |
트리 노드 컬렉션 전체에서 반복하는 데 사용할 수 있는 열거자를 반환합니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
IndexOf(TreeNode) |
컬렉션에 있는 지정된 트리 노드의 인덱스를 반환합니다. |
IndexOfKey(String) |
지정된 키가 있는 트리 노드 중 맨 처음 발견된 트리 노드의 인덱스를 반환합니다. |
Insert(Int32, String) |
지정된 텍스트가 있는 트리 노드를 만들어 지정된 인덱스에 삽입합니다. |
Insert(Int32, String, String) |
지정된 텍스트 및 키가 있는 트리 노드를 만들어 컬렉션에 삽입합니다. |
Insert(Int32, String, String, Int32) |
지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션의 지정된 인덱스에 삽입합니다. |
Insert(Int32, String, String, Int32, Int32) |
지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션의 지정된 인덱스에 삽입합니다. |
Insert(Int32, String, String, String) |
지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션의 지정된 인덱스에 삽입합니다. |
Insert(Int32, String, String, String, String) |
지정된 키, 텍스트 및 이미지가 있는 트리 노드를 만들어 컬렉션의 지정된 인덱스에 삽입합니다. |
Insert(Int32, TreeNode) |
기존 트리 노드를 트리 노드 컬렉션의 지정된 위치에 삽입합니다. |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
Remove(TreeNode) |
트리 노드 컬렉션에서 지정된 트리 노드를 제거합니다. |
RemoveAt(Int32) |
트리 노드 컬렉션에서 지정된 인덱스의 트리 노드를 제거합니다. |
RemoveByKey(String) |
지정된 키가 있는 트리 노드를 컬렉션에서 제거합니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
명시적 인터페이스 구현
ICollection.IsSynchronized |
해당 컬렉션에 대한 액세스가 동기화되어 스레드로부터 안전하게 보호되는지를 나타내는 값을 가져옵니다. |
ICollection.SyncRoot |
컬렉션에 대한 액세스를 동기화하는 데 사용할 수 있는 개체를 가져옵니다. |
IList.Add(Object) |
개체를 트리 노드 컬렉션의 끝에 추가합니다. |
IList.Contains(Object) |
지정된 트리 노드가 컬렉션의 멤버인지 확인합니다. |
IList.IndexOf(Object) |
컬렉션에 있는 지정된 트리 노드의 인덱스를 반환합니다. |
IList.Insert(Int32, Object) |
기존 트리 노드를 지정된 위치의 트리 노드 컬렉션에 삽입합니다. |
IList.IsFixedSize |
트리 노드 컬렉션의 크기가 고정되어 있는지 여부를 나타내는 값을 가져옵니다. |
IList.Item[Int32] |
컬렉션의 지정된 인덱스에 있는 트리 노드를 가져오거나 설정합니다. |
IList.Remove(Object) |
트리 노드 컬렉션에서 지정된 트리 노드를 제거합니다. |
확장 메서드
Cast<TResult>(IEnumerable) |
IEnumerable의 요소를 지정된 형식으로 캐스팅합니다. |
OfType<TResult>(IEnumerable) |
지정된 형식에 따라 IEnumerable의 요소를 필터링합니다. |
AsParallel(IEnumerable) |
쿼리를 병렬화할 수 있도록 합니다. |
AsQueryable(IEnumerable) |
IEnumerable을 IQueryable로 변환합니다. |