【发布时间】:2014-12-04 20:10:26
【问题描述】:
我正在尝试以编程方式将子节点添加到我的 TreeView。
最初我使用TreeView1.Nodes(0).Nodes(0).Nodes(0)手动完成它们...
这自然开始看起来很讨厌,但是当我尝试将记录附加到记录时也不起作用。
我当前的代码将采用我的所有代码并将其放置在根级别,因为使用的函数TreeView1.Nodes.Add(tn) 在技术上是明智的根代码。如何在无需手动编码的情况下使其动态化(避免TreeView1.Nodes(0).Nodes(0).Nodes(0)...)
顺序是:
Main
|_ Screen
|_ Msg
|_ A
|_ B
|_ C
|_ D
VB.net
add_child_node(doc.DocumentElement.SelectSingleNode("/Main").Name)
Private Sub add_child_node(NodeName As String)
Dim tn As New TreeNode(NodeName)
'TreeView1.SelectedNode.Nodes.Add(tn)
TreeView1.Nodes.Add(tn)
End Sub
XML
<Main>
<Screen ID="0" ParentID="-1">
<Msg></Msg>
<A ChildID="1"></A>
<B ChildID=""></B>
<C ChildID=""></C>
<D ChildID=""></D>
</Screen>
</Main>
【问题讨论】:
-
您可以将节点放在变量中。 mainNode = TreeView1.Nodes(0), screenNode = mainNode.Nodes(0), msgNode = screenNode.Nodes(0)
-
1.请注意,添加 TreeNode 的方法(添加、插入)都返回添加的节点。您可以使用生成的节点的 Nodes 集合来添加子节点。
-
2.树是使用递归的好时机。