TreeNodeCollection.Add 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將新的樹狀節點加入集合中。
多載
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);
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,表示要加入至集合的樹狀節點。
範例
下列程式碼範例會在 控制項中 TreeView 顯示客戶資訊。 根樹狀節點會顯示客戶名稱,子樹狀節點會顯示指派給每位客戶的訂單編號。 在此範例中,1,000 個客戶會分別顯示 15 個訂單。 的重 TreeView 繪會使用 BeginUpdate 和 EndUpdate 方法隱藏,而且會在建立和繪製 TreeNode 物件時 TreeView 顯示等候 Cursor 。 此範例會要求您擁有 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 或 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 和 EndUpdate 方法隱藏,而且會在建立和繪製 TreeNode 物件時 TreeView 顯示等候 Cursor 。 此範例會要求您擁有 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 或 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);
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 會對應至 中的 索引 TreeNodeCollection 鍵 TreeNode 。
您也可以使用 AddRange 或 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);
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 會對應至 中的 索引 TreeNodeCollection 鍵 TreeNode 。
參數 imageIndex
參考父 TreeView 代 的 屬性中的 ImageList 影像。
樹狀節點會新增至集合結尾。 您也可以使用 AddRange 或 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);
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 會對應至 中的 索引 TreeNodeCollection 鍵 TreeNode 。
樹狀節點會新增至集合結尾。 您也可以使用 AddRange 或 Insert 方法,將新 TreeNode 物件新增至集合。
參數 imageKey
參考父 TreeView 代 的 屬性中的 ImageList 影像。
適用於
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);
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 會對應至 中的 索引 TreeNodeCollection 鍵 TreeNode 。
樹狀節點會新增至集合結尾。 您也可以使用 AddRange 或 Insert 方法,將新 TreeNode 物件新增至集合。
參數 imageIndex
參考父 TreeView 代 的 屬性中的 ImageList 影像。
參數 selectedImageIndex
參考父 TreeView 代 的 屬性中的 StateImageList 影像。
適用於
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);
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 會對應至 中的 索引 TreeNodeCollection 鍵 TreeNode 。
樹狀節點會新增至集合結尾。 您也可以使用 AddRange 或 Insert 方法,將新 TreeNode 物件新增至集合。
參數 imageKey
參考父 TreeView 代 的 屬性中的 ImageList 影像。
參數 selectedImageKey
參考父 TreeView 代 的 屬性中的 StateImageList 影像。