我想實作對已經生成的treeview進行結點變色,只要子節點都為紅色,則父結點為紅色
代碼如下:
Private Sub Turn_Red(TVW As TreeView)
'MsgBox TVW.Nodes(1).FirstSibling.Index
Dim i As Integer
Dim j As Integer
Dim isRed As Boolean
For i = TVW.Nodes.count To 1 Step -1 '從最后一個結點開始判斷,這樣從最低級的子節點開始一層一層向上級判斷
If Not TVW.Nodes(i).Child Is Nothing Then '如果該節點有子節點
isRed = True '如果一直為true,則此節點的子節點均為紅色
For j = TVW.Nodes(i).Child.FirstSibling.Index To TVW.Nodes(i).Child.LastSibling.Index
If TVW.Nodes(j).ForeColor = vbBlack Then '如果子節點存在顏色為vbBlack
isRed = False
Exit For
End If
Next j
If isRed = True Then '子節點全是紅色,則父節點也為紅色
TVW.Nodes(i).ForeColor = vbRed
End If
End If
Next i
End Sub
uj5u.com熱心網友回復:
代碼你都寫出來了,你想問什么??uj5u.com熱心網友回復:
先將父節點設為紅色,然后遞回回圈子節點,
有不是紅色時,父節點變成黑色,并跳出回圈。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/116731.html
標籤:VB基礎類
下一篇:visual basic 的困擾
