Directory Tree
Imports System.IO Imports System.Windows.Forms <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Partial Class Form1 Inherits System.Windows.Forms.Form <System.Diagnostics.DebuggerStepThrough()> _ Private Sub InitializeComponent() Me.SplitContainer1 = New System.Windows.Forms.SplitContainer Me.treeFiles = New System.Windows.Forms.TreeView Me.lstFiles = New System.Windows.Forms.ListBox Me.SplitContainer1.Panel1.SuspendLayout() Me.SplitContainer1.Panel2.SuspendLayout() Me.SplitContainer1.SuspendLayout() Me.SuspendLayout() ' 'SplitContainer1 ' Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill Me.SplitContainer1.Location = New System.Drawing.Point(5, 5) Me.SplitContainer1.Name = "SplitContainer1" ' 'SplitContainer1.Panel1 ' Me.SplitContainer1.Panel1.Controls.Add(Me.treeFiles) ' 'SplitContainer1.Panel2 ' Me.SplitContainer1.Panel2.Controls.Add(Me.lstFiles) Me.SplitContainer1.Size = New System.Drawing.Size(429, 295) Me.SplitContainer1.SplitterDistance = 143 Me.SplitContainer1.TabIndex = 0 ' 'treeFiles ' Me.treeFiles.Dock = System.Windows.Forms.DockStyle.Fill Me.treeFiles.Location = New System.Drawing.Point(0, 0) Me.treeFiles.Name = "treeFiles" Me.treeFiles.Size = New System.Drawing.Size(143, 295) Me.treeFiles.TabIndex = 1 ' Me.lstFiles.Dock = System.Windows.Forms.DockStyle.Fill Me.lstFiles.IntegralHeight = False Me.lstFiles.Location = New System.Drawing.Point(0, 0) Me.lstFiles.Name = "lstFiles" Me.lstFiles.Size = New System.Drawing.Size(282, 295) ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(439, 305) Me.Controls.Add(Me.SplitContainer1) Me.Font = New System.Drawing.Font("Tahoma", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Padding = New System.Windows.Forms.Padding(5) Me.Text = "File Browser" Me.SplitContainer1.Panel1.ResumeLayout(False) Me.SplitContainer1.Panel2.ResumeLayout(False) Me.SplitContainer1.ResumeLayout(False) Me.ResumeLayout(False) End Sub Friend WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer Friend WithEvents treeFiles As System.Windows.Forms.TreeView Friend WithEvents lstFiles As System.Windows.Forms.ListBox Private Sub Fill(ByVal Dir As DirectoryInfo, ByVal DirNode As TreeNode) Try For Each DirItem As DirectoryInfo In Dir.GetDirectories Dim NewNode As New TreeNode(DirItem.Name) DirNode.Nodes.Add(NewNode) NewNode.Nodes.Add("*") Next Catch End Try End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim RootDir As New DirectoryInfo("c:\") Dim RootNode As New TreeNode("c:\") treeFiles.Nodes.Add(RootNode) Fill(RootDir, RootNode) End Sub Private Sub treeFiles_BeforeExpand(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewCancelEventArgs) Handles treeFiles.BeforeExpand If e.Node.Nodes.Count > 0 Then If e.Node.FirstNode.Text = "*" Then e.Node.FirstNode.Remove() Dim DirectoryToFill As New DirectoryInfo(e.Node.FullPath) Fill(DirectoryToFill, e.Node) End If End If End Sub End Class