Hi
I wrote this example to give you some ideas. i knocked it up quickly![]()
But it's not the usual way of displaying a tree. Usually you are displaying some data and you would use some re-entrant code.eg (recursion)
just paste this onto a form with 3 buttons and a treeview
Play around with selecting nodes!
hope it helps
Mike Pooley
VB Code:
Public Class Form1 Dim Selectednode As TreeNode Private Sub AddSibling(ByVal CurrentNode As TreeNode, _ ByVal strText As String, ByVal intImage As Integer, _ Optional ByVal intSelectImage As Integer = 99999) Dim tvwnode As New TreeNode With tvwNode .Text = strText .ImageIndex = intImage If intSelectImage <> 99999 Then .SelectedImageIndex = intSelectImage Else .SelectedImageIndex = intImage End With If CurrentNode.Level = 0 Then TreeView1.Nodes.Add(tvwnode) Else CurrentNode.Parent.Nodes.Add(tvwnode) End If End Sub Private Sub AddChild(ByVal CurrentNode As TreeNode, _ ByVal strText As String, ByVal intImage As Integer, _ Optional ByVal intSelectImage As Integer = 99999) Dim tvwnode As New TreeNode With tvwnode .Text = strText .ImageIndex = intImage If intSelectImage <> 99999 Then .SelectedImageIndex = intSelectImage Else .SelectedImageIndex = intImage End With CurrentNode.Nodes.Add(tvwnode) TreeView1.ExpandAll() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Call AddSibling(Selectednode, "sibling ", 8) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click AddChild(Selectednode, "Child", 8) End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim rootnode As TreeNode rootnode = Me.TreeView1.Nodes.Add("RootNode", "Root") Selectednode = rootnode End Sub Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect Selectednode = e.Node End Sub End Class




Reply With Quote