GUI VB.Net

Imports System.IO
Imports System.Windows.Forms
 _
Partial Class Form1
    Inherits System.Windows.Forms.Form
     _
    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