以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]目录树节点选择  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=50303)

--  作者:jspta
--  发布时间:2014/5/4 14:49:00
--  [求助]目录树节点选择
在重新生成目录树后,想选择某节点,如何写代码那?(该节点任何信息都可以知道)
--  作者:Bin
--  发布时间:2014/5/4 14:50:00
--  
只能遍历所有节点,判断该节点名称是你想要的,就设置选中
--  作者:逛逛
--  发布时间:2014/5/4 15:27:00
--  

Dim tv As System.Windows.Forms.TreeView  = e.Form.Controls("TreeView1").BaseControl
Dim nd() As System.Windows.Forms.TreeNode = tv.Nodes.Find("cc",True)
If nd.Length > 0 Then
    tv.SelectedNode = nd(0)
End If

 

"cc" 是节点的名称


--  作者:ybil
--  发布时间:2014/5/4 15:27:00
--  

SelectedNode

TreeNode类型,返回或者设置选定的节点。

示例

选定目录树第一个节点的第二个子节点:

Dim tr As WinForm.TreeView
tr = Forms(
"窗口1").Controls("TreeView1")
tr.SelectedNode = tr.Nodes(
0).Nodes(1
)


--  作者:jspta
--  发布时间:2014/5/5 10:43:00
--  
逛逛的方法好,有一个问题也是我一开始思考的,节点名称可能会重复。
ybil 这个方法的关键问题是  tr.SelectedNode = tr.Nodes(0).Nodes(1) 我不知道这个节点在哪一级,通用性就没有了


--  作者:狐狸爸爸
--  发布时间:2014/5/5 10:57:00
--  

用这个遍历,不用担心重复:
 
http://www.foxtable.com/help/topics/2302.htm


 
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
For Each nd As WinForm.TreeNode In trv.AllNodes
   if nd.fullpath = "PD01\\CS02\\EP02"
       trv.SelectedNode = nd
       exit for
   end if
Next


--  作者:花开的声音
--  发布时间:2014/5/5 12:03:00
--  
又学了2种方法,收藏先。