你的treeview和數(shù)組是什么結(jié)構(gòu)呢?這個源碼你改改用吧
為灌陽等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及灌陽網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站建設、成都網(wǎng)站制作、灌陽網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim str(TreeView1.GetNodeCount(False) - 1, 0) As String '定義一個2維數(shù)組存放節(jié)點內(nèi)容
Dim node As TreeNode
Dim childnode As TreeNode
Dim i, j As Integer
i = 0
For Each node In TreeView1.Nodes '循環(huán)根節(jié)點
j = 1
str(i, 0) = node.Text '每個根節(jié)點的內(nèi)容存放在第一列
If UBound(str, 2) node.GetNodeCount(False) Then
ReDim Preserve str(TreeView1.GetNodeCount(False) - 1, node.GetNodeCount(False)) '根據(jù)子節(jié)點的數(shù)目更改數(shù)組大小
End If
For Each childnode In node.Nodes '循環(huán)子節(jié)點
str(i, j) = childnode.Text '存放每個子節(jié)點的內(nèi)容
j = j + 1
Next
i = i + 1
Next
node = Nothing
childnode = Nothing
End Sub
要用遞歸的方法才行,首先構(gòu)建一個帶有treeview1和button1的基本窗體,在treeview1中添加一些節(jié)點,保持默認的名字即可。程序?qū)⑺褜す?jié)點帶有j"節(jié)點1"的節(jié)點,包括節(jié)點10,節(jié)點11....,然后按照你的要求添加新節(jié)點。代碼如下:
Public Class Form1
Dim a() As String = {"節(jié)點1", "a(1)節(jié)點"}
Dim mnodes As New ArrayList
Dim cnodes As TreeNode
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
get_n(TreeView1.Nodes)
For Each ntxt As TreeNode In mnodes
If ntxt.Text.IndexOf(a(0)) = 0 Then
ntxt.Nodes.Add(New TreeNode(a(1)))
Else
ntxt.Nodes.Add(New TreeNode("新節(jié)點"))
End If
Next
End Sub
Private Sub get_n(ByVal cn As TreeNodeCollection)
For Each ma As TreeNode In cn
If ma.Nodes.Count 0 Then
mnodes.Add(ma)
cnodes = ma
get_n(cnodes.Nodes)
Else
mnodes.Add(ma)
End If
Next
End Sub
End Class
for each是用來簡化for的,但你這種寫法有點奇怪,一般沒這樣用的,通常的用法是
dim a() as string={....}
dim str as string '定義臨時變量,它的類型與你數(shù)組中元素類型一致
For Each str In a
MessageBox.Show(str)
Next
你上面代碼中,a就是一個3個元素的數(shù)組,從a[0]到a[2], 用for each的時候,就會遍歷你的a數(shù)組,上面的代碼相當于
for i=0 to a.Length-1
MessageBox.Show(a(i))
next
遍歷的例子:
Dim i, j As Integer
For i = 0 To DataGridView1.RowCount - 1
For j = 0 To DataGridView1.ColumnCount - 1
MsgBox(DataGridView1.Item(j, i).Value)
Next
Next
注意:與Excel的單元格命名規(guī)則不一樣,這里的 Item(j, i) 中,列號 j 在前,行號 i 在后。
網(wǎng)站標題:vb.net遍歷樹 vb中的遍歷是什么意思
網(wǎng)站地址:http://jinyejixie.com/article2/dosgdic.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、服務器托管、電子商務、企業(yè)網(wǎng)站制作、網(wǎng)站維護、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)