TreeNodeCollection.Add 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
新增一個樹節點到集合中。
多載
| 名稱 | Description |
|---|---|
| Add(String) |
在目前樹節點集合的末尾新增一個帶有指定標籤文字的新樹節點。 |
| Add(TreeNode) |
將先前建立的樹節點加入樹節點集合的末尾。 |
| Add(String, String) |
建立一個新的樹節點,包含指定的鍵和文字,並將其加入集合中。 |
| Add(String, String, Int32) |
建立一個樹狀節點,包含指定的鍵、文字和圖片,並將其加入集合中。 |
| Add(String, String, String) |
建立一個樹狀節點,包含指定的鍵、文字和圖片,並將其加入集合中。 |
| Add(String, String, Int32, Int32) |
建立一個樹狀節點,包含指定的鍵、文字和圖片,並將其加入集合中。 |
| Add(String, String, String, String) |
建立一個樹狀節點,包含指定的鍵、文字和圖片,並將其加入集合中。 |
Add(String)
在目前樹節點集合的末尾新增一個帶有指定標籤文字的新樹節點。
public:
virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ text);
public virtual System.Windows.Forms.TreeNode Add(string text);
public virtual System.Windows.Forms.TreeNode Add(string? text);
abstract member Add : string -> System.Windows.Forms.TreeNode
override this.Add : string -> System.Windows.Forms.TreeNode
Public Overridable Function Add (text As String) As TreeNode
參數
傳回
TreeNode A 代表被加入集合的樹節點。
範例
以下程式碼範例以控制方式顯示客戶資訊 TreeView 。 根樹節點顯示客戶名稱,子樹節點則顯示分配給每位客戶的訂單號碼。 在此範例中,顯示 1,000 名客戶,每人有 15 筆訂單。 重新上色 TreeView 會被使用 BeginUpdate and EndUpdate 方法抑制,並顯示等待 Cursor 畫面,等待物件 TreeView 的建立與上色 TreeNode 。 這個例子要求你有一個 Customer 物件可以容納一組 Order 物件。 同時也要求你在 上Form建立了一個控制實例TreeView。
// 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
備註
你也可以透過使用 AddRange or Insert 方法新增TreeNode物件到集合中。
要移除你之前新增的 , TreeNode 請使用 Remove、 RemoveAt或 Clear 方法。
另請參閱
適用於
Add(TreeNode)
將先前建立的樹節點加入樹節點集合的末尾。
public:
virtual int Add(System::Windows::Forms::TreeNode ^ node);
public virtual int Add(System.Windows.Forms.TreeNode node);
abstract member Add : System.Windows.Forms.TreeNode -> int
override this.Add : System.Windows.Forms.TreeNode -> int
Public Overridable Function Add (node As TreeNode) As Integer
參數
傳回
將 的 以零為基礎的索引值 TreeNode 加到樹節點集合中。
例外狀況
目前 該 node 被分配給另一個 TreeView。
範例
以下程式碼範例以控制方式顯示客戶資訊 TreeView 。 根樹節點顯示客戶名稱,子樹節點則顯示分配給每位客戶的訂單號碼。 在此範例中,顯示 1,000 名客戶,每人有 15 筆訂單。 重新上色 TreeView 會被使用 BeginUpdate and EndUpdate 方法抑制,並顯示等待 Cursor 畫面,等待物件 TreeView 的建立與上色 TreeNode 。 這個例子要求你有一個 Customer 物件可以容納一組 Order 物件。 同時也要求你在 上Form建立了一個控制實例TreeView。
// 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 的方法允許你將先前建立的 TreeNode 物件加入樹節點集合的末尾。
你也可以透過使用 AddRange or Insert 方法新增TreeNode物件到集合中。
要移除你之前新增的 , TreeNode 請使用 Remove、 RemoveAt或 Clear 方法。
另請參閱
適用於
Add(String, String)
建立一個新的樹節點,包含指定的鍵和文字,並將其加入集合中。
public:
virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ key, System::String ^ text);
public virtual System.Windows.Forms.TreeNode Add(string key, string text);
public virtual System.Windows.Forms.TreeNode Add(string? key, string? text);
abstract member Add : string * string -> System.Windows.Forms.TreeNode
override this.Add : string * string -> System.Windows.Forms.TreeNode
Public Overridable Function Add (key As String, text As String) As TreeNode
參數
- key
- String
樹節點的名稱。
- text
- String
文字要顯示在樹節點中。
傳回
TreeNode那個被加入了收藏。
備註
該Name性質對應於 中 a 的TreeNodeTreeNodeCollection鍵。
你也可以透過使用 AddRange or Insert 方法新增TreeNode物件到集合中。
適用於
Add(String, String, Int32)
建立一個樹狀節點,包含指定的鍵、文字和圖片,並將其加入集合中。
public:
virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ key, System::String ^ text, int imageIndex);
public virtual System.Windows.Forms.TreeNode Add(string key, string text, int imageIndex);
public virtual System.Windows.Forms.TreeNode Add(string? key, string? text, int imageIndex);
abstract member Add : string * string * int -> System.Windows.Forms.TreeNode
override this.Add : string * string * int -> System.Windows.Forms.TreeNode
Public Overridable Function Add (key As String, text As String, imageIndex As Integer) As TreeNode
參數
- key
- String
樹節點的名稱。
- text
- String
文字要顯示在樹節點中。
- imageIndex
- Int32
要在樹節點顯示的影像索引。
傳回
TreeNode那個被加入了收藏。
備註
該Name性質對應於 中 a 的TreeNodeTreeNodeCollection鍵。
參數imageIndex指的是父 屬性中的ImageListTreeView影像。
樹節點會被加入集合的末尾。 你也可以透過使用 AddRange or Insert 方法新增TreeNode物件到集合中。
適用於
Add(String, String, String)
建立一個樹狀節點,包含指定的鍵、文字和圖片,並將其加入集合中。
public:
virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ key, System::String ^ text, System::String ^ imageKey);
public virtual System.Windows.Forms.TreeNode Add(string key, string text, string imageKey);
public virtual System.Windows.Forms.TreeNode Add(string? key, string? text, string? imageKey);
abstract member Add : string * string * string -> System.Windows.Forms.TreeNode
override this.Add : string * string * string -> System.Windows.Forms.TreeNode
Public Overridable Function Add (key As String, text As String, imageKey As String) As TreeNode
參數
- key
- String
樹節點的名稱。
- text
- String
文字要顯示在樹節點中。
- imageKey
- String
要顯示在樹節點中的影像。
傳回
TreeNode那個被加入了收藏。
備註
該Name性質對應於 中 a 的TreeNodeTreeNodeCollection鍵。
樹節點會被加入集合的末尾。 你也可以透過使用 AddRange or Insert 方法新增TreeNode物件到集合中。
參數imageKey指的是父 屬性中的ImageListTreeView影像。
適用於
Add(String, String, Int32, Int32)
建立一個樹狀節點,包含指定的鍵、文字和圖片,並將其加入集合中。
public:
virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ key, System::String ^ text, int imageIndex, int selectedImageIndex);
public virtual System.Windows.Forms.TreeNode Add(string key, string text, int imageIndex, int selectedImageIndex);
public virtual System.Windows.Forms.TreeNode Add(string? key, string? text, int imageIndex, int selectedImageIndex);
abstract member Add : string * string * int * int -> System.Windows.Forms.TreeNode
override this.Add : string * string * int * int -> System.Windows.Forms.TreeNode
Public Overridable Function Add (key As String, text As String, imageIndex As Integer, selectedImageIndex As Integer) As TreeNode
參數
- key
- String
樹節點的名稱。
- text
- String
文字要顯示在樹節點中。
- imageIndex
- Int32
要在樹節點顯示的影像索引。
- selectedImageIndex
- Int32
當該影像處於選取狀態時,要在樹節點中顯示的索引。
傳回
被加入集合的樹節點。
備註
該Name性質對應於 中 a 的TreeNodeTreeNodeCollection鍵。
樹節點會被加入集合的末尾。 你也可以透過使用 AddRange or Insert 方法新增TreeNode物件到集合中。
參數imageIndex指的是父 屬性中的ImageListTreeView影像。
參數selectedImageIndex指的是父 屬性中的StateImageListTreeView影像。
適用於
Add(String, String, String, String)
建立一個樹狀節點,包含指定的鍵、文字和圖片,並將其加入集合中。
public:
virtual System::Windows::Forms::TreeNode ^ Add(System::String ^ key, System::String ^ text, System::String ^ imageKey, System::String ^ selectedImageKey);
public virtual System.Windows.Forms.TreeNode Add(string key, string text, string imageKey, string selectedImageKey);
public virtual System.Windows.Forms.TreeNode Add(string? key, string? text, string? imageKey, string? selectedImageKey);
abstract member Add : string * string * string * string -> System.Windows.Forms.TreeNode
override this.Add : string * string * string * string -> System.Windows.Forms.TreeNode
Public Overridable Function Add (key As String, text As String, imageKey As String, selectedImageKey As String) As TreeNode
參數
- key
- String
樹節點的名稱。
- text
- String
文字要顯示在樹節點中。
- imageKey
- String
圖片的鍵要顯示在樹節點中。
- selectedImageKey
- String
當節點處於選擇狀態時,影像的鍵值會顯示。
傳回
TreeNode那個被加入了收藏。
備註
該Name性質對應於 中 a 的TreeNodeTreeNodeCollection鍵。
樹節點會被加入集合的末尾。 你也可以透過使用 AddRange or Insert 方法新增TreeNode物件到集合中。
參數imageKey指的是父 屬性中的ImageListTreeView影像。
參數selectedImageKey指的是父 屬性中的StateImageListTreeView影像。