用递归的方法是不是更高效?
这样的方法遍历treeview有问题,不能遍历到所有节点:
dim n as node
for each n in treeview1.nodes
if n.tag="abc" then
n.selected=true
end if
next多谢。
这样的方法遍历treeview有问题,不能遍历到所有节点:
dim n as node
for each n in treeview1.nodes
if n.tag="abc" then
n.selected=true
end if
next多谢。
就你目前的要求来看,完全没有必要使用递归.
用For循环是解决这个问题的捷径.
只是你的代码中间少写了一句,以至于没有达到预期效果.
修改如下:
dim n as node
for each n in treeview1.nodes
if n.tag="abc" then
n.selected=true
exit for ''就是少写了这一句
end if
next
tvTreeView.Nodes(i).Expanded = True
Next i
tvTreeView.Nodes(key).Expanded = True
tvTreeView.Nodes(key).selected = True
--------------------------------------------------最好的办法是用KEY因为key不允许重复而且方便使用TreeView1.Nodes(key).Expanded = True 展开TreeView1.Nodes(key).Selected = True 选中
已知节点的tag值,怎么定位在treeview上让这个节点选中?
for each n in treeview1.nodes
if n.tag="abc" then
n.selected=true
exit for ''就是少写了这一句
end if
next这样为什么遍历不到所有节点。奇怪。
Dim n As Node
For Each n In TreeView1.Nodes
If n.Tag = "abc" Then
n.Selected = True TreeView1.SetFocus MsgBox n.key & " " & n.Text Exit For
End If
NextEnd SubP
加上这一句
For Each n In TreeView1.Nodes
If n.Tag = "abc" Then
n.Selected = True TreeView1.SetFocus MsgBox n.key & " " & n.Text Exit For
End If
Next