web-dev-qa-db-ja.com

VB.NETツリービューで特定のノードに子ノードを追加する方法

ツリービューの特定のノードに子ノードを追加するにはどうすればよいですか?ツリービューにすでに「Item1」があるとしましょう。子ノードとして「Item1」に「SubItem1」を追加するにはどうすればよいですか?

私はそれがおそらく本当に単純であることを知っています、しかし私はたくさんのことを試みました、私はそれを動かすことができません。

5
NetInfo

親に子ノードを追加する(選択されていない)

最初にFind()を使用して、親ノードへの参照を取得します。次に、以下の他のセクションと同じ手法を使用して追加します。

_Dim MyNode() As TreeNode 
MyNode = TreeView1.Nodes.Find("Item1", True)
MyNode(0).Nodes.Add("SubItem1")
_

プログラムでノードを追加する

子ノードを特定の親ノードに追加する場合は、parent.node.add()メソッドを使用して子ノードを親ノードに追加することをお勧めします。このように子をいくつでも作成できます。

たとえば、次のようなシナリオが必要な場合:

祖父->父->息子

次に、これを行うことができます:

_dim GrandfatherNOde as treenode = tree.nodes.add("Grandfather")
dim fatherNode as treenode = GrandfatherNode.Nodes.add("Father")
dim sonNode as treenode = fatherNode.Nodes.add("Son")
_

より多くの読書/例

このページには、子ノードをツリーに動的に追加するために実行できる良い例があります。彼らは次のように接続したボタンでそれを行います:

_Private Sub AddChild_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddChild.Click
    TView.SelectedNode.Nodes.Add(Text1.Text)
End Sub
_

http://www.codeproject.com/Articles/11830/The-Basic-Operations-on-using-the-TreeView-Control

10
msigman

ここに着いたときも同じものを探していましたが、今のところ必要なものにたどり着きませんでした。

だから私はこのページに行きました: http://www.dotnetspider.com/forum/168335-How-add-node-treeview-VB.NET.aspx

あなたがそれを見てから本当にクールで簡単に行うことができます。

サブレベルを追加し続けるには、nodes.add( "nodename")と入力し続けるだけでよいことがわかります。 Treeview1.Nodes.Add( "Root_1")。Nodes.Add( "Child_Level_1")。Nodes.Add( "Child_Level_2")

Treeview1.Nodes.Add("Root_1").Nodes.Add("Child_Level_1").Nodes.Add("Child_Level_2")

これは次のようになります。

http://img716.imageshack.us/img716/7254/semttulonzk.jpg

お役に立てば幸いです; D。

2
Gaandi

NameTreeNode に割り当てることを確認した場合は、 Find を見つけて、Childノードを追加します。

例:

Public Class Form1
    Dim Nodes(5) As TreeNode


    Public Sub New()

        ' This call is required by the designer.
        InitializeComponent()

        ' Add any initialization after the InitializeComponent() call.

        Nodes(0) = New TreeNode("Root")
        Nodes(0).Name = "Root"
        Nodes(1) = New TreeNode("Item1")
        Nodes(1).Name = "Item1"
        Nodes(2) = New TreeNode("Item2")
        Nodes(2).Name = "Item2"
        Nodes(3) = New TreeNode("Item3")
        Nodes(3).Name = "Item3"
        Nodes(4) = New TreeNode("Item4")
        Nodes(4).Name = "Item4"
        Nodes(0).Nodes.Add(Nodes(1))
        Nodes(0).Nodes.Add(Nodes(2))
        Nodes(0).Nodes.Add(Nodes(3))
        Nodes(0).Nodes.Add(Nodes(4))

    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        TreeView1.Nodes.Add(Nodes(0))
    End Sub

    Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        Dim tmpNode() As TreeNode = TreeView1.Nodes.Find("Item1", True)
        'Assuming only one Match
        tmpNode(0).Nodes.Add("Child Of Item1")
    End Sub
End Class
2
Mark Hall

*空のTreeViewを想定しています:

Dim rootNode = TreeView1.Nodes.Add("Root")

rootNode.Nodes.Add("SubNode")
1
David Osborne