以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [原创]加节点的代码的奥妙?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=10428)

--  作者:aloby
--  发布时间:2011/6/4 21:27:00
--  [原创]加节点的代码的奥妙?
加根节点 Dim tr As WinForm.TreeView
Dim
nd As WinForm.TreeNode
tr = e.Form.Controls(
"TreeView1")
nd = tr.Nodes.Add(
"新节点")
tr.SelectedNode = nd
tr.
Select()
tr.BeginEdit()
增加子节点 Dim tr As WinForm.TreeView
Dim
nd As WinForm.TreeNode
tr = e.Form.Controls(
"TreeView1")
nd = tr.SelectedNode

If
nd IsNot Nothing Then
    nd = nd.Nodes.Add(
"新节点")
    tr.SelectedNode = nd
    tr.
Select
    tr.BeginEdit

End
If
这二段代码不一样,但为什么一个加了根节点,一个加了子节点,看不明白.
--  作者:mr725
--  发布时间:2011/6/4 21:54:00
--  
两个 nd 是不一样的,仔细看看。
--  作者:aloby
--  发布时间:2011/6/5 7:27:00
--  
为什么用tr就生成了根节点,用nd就生成了下级节点呢?
--  作者:kylin
--  发布时间:2011/6/5 19:52:00
--  

没有特别神秘之处:

第一段代码:nd所选的是这棵树,当然增加后的就是根节点

第二段代码:nd所选的是已经选中的节点,当然增加后的就是这个节点的子节点了

 

仔细看看,希望你能明白,呵呵


--  作者:aloby
--  发布时间:2011/6/5 21:27:00
--  

谢谢kylin兄,我看节点的语句,不是太规律,如

 

nd = tr.Nodes.Add("新节点")   \'添加根节点
nd = nd.Nodes.Add("新节点")   \'增加子节点
nd = tr.Nodes.Insert("新节点",id)   \'插入根节点
nd = nd.ParentNode.Nodes.Insert("新节点",id)   \'插入节点(非根)

 

我太笨,找不出太强的规律性,只好死记,呵呵


--  作者:kylin
--  发布时间:2011/6/5 21:39:00
--  
自己动手做过例子,全部演习一下就会记住,不应死记硬背了,呵呵