1 '常用控件介绍 — TreeView和ListView
'常用控件介绍 — TreeView和ListView
2
3 Imports System.IO
Imports System.IO
4
 Public Class Form1Class Form1
Public Class Form1Class Form1
5 Inherits System.Windows.Forms.Form
    Inherits System.Windows.Forms.Form
6
7
 Windows 窗体设计器生成的代码#Region " Windows 窗体设计器生成的代码 "
Windows 窗体设计器生成的代码#Region " Windows 窗体设计器生成的代码 "
8
9
 Public Sub New()Sub New()
    Public Sub New()Sub New()
10 MyBase.New()
        MyBase.New()
11
12 '该调用是 Windows 窗体设计器所必需的。
        '该调用是 Windows 窗体设计器所必需的。
13 InitializeComponent()
        InitializeComponent()
14
15 '在 InitializeComponent() 调用之后添加任何初始化
        '在 InitializeComponent() 调用之后添加任何初始化
16
17 End Sub
    End Sub
18
19 '窗体重写 dispose 以清理组件列表。
    '窗体重写 dispose 以清理组件列表。
20
 Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
    Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
21 If disposing Then
        If disposing Then
22 If Not (components Is Nothing) Then
            If Not (components Is Nothing) Then
23 components.Dispose()
                components.Dispose()
24 End If
            End If
25 End If
        End If
26 MyBase.Dispose(disposing)
        MyBase.Dispose(disposing)
27 End Sub
    End Sub
28
29 'Windows 窗体设计器所必需的
    'Windows 窗体设计器所必需的
30 Private components As System.ComponentModel.IContainer
    Private components As System.ComponentModel.IContainer
31
32 '注意: 以下过程是 Windows 窗体设计器所必需的
    '注意: 以下过程是 Windows 窗体设计器所必需的
33 '可以使用 Windows 窗体设计器修改此过程。
    '可以使用 Windows 窗体设计器修改此过程。
34 '不要使用代码编辑器修改它。
    '不要使用代码编辑器修改它。
35 Friend WithEvents StatusBar1 As System.Windows.Forms.StatusBar
    Friend WithEvents StatusBar1 As System.Windows.Forms.StatusBar
36 Friend WithEvents TreeView1 As System.Windows.Forms.TreeView
    Friend WithEvents TreeView1 As System.Windows.Forms.TreeView
37 Friend WithEvents Splitter1 As System.Windows.Forms.Splitter
    Friend WithEvents Splitter1 As System.Windows.Forms.Splitter
38 Friend WithEvents ListView1 As System.Windows.Forms.ListView
    Friend WithEvents ListView1 As System.Windows.Forms.ListView
39 Friend WithEvents ImageList1 As System.Windows.Forms.ImageList
    Friend WithEvents ImageList1 As System.Windows.Forms.ImageList
40 Friend WithEvents FileName As System.Windows.Forms.ColumnHeader
    Friend WithEvents FileName As System.Windows.Forms.ColumnHeader
41 Friend WithEvents LastAccess As System.Windows.Forms.ColumnHeader
    Friend WithEvents LastAccess As System.Windows.Forms.ColumnHeader
42
 <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()
43 Me.components = New System.ComponentModel.Container
        Me.components = New System.ComponentModel.Container
44 Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1))
        Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1))
45 Me.StatusBar1 = New System.Windows.Forms.StatusBar
        Me.StatusBar1 = New System.Windows.Forms.StatusBar
46 Me.TreeView1 = New System.Windows.Forms.TreeView
        Me.TreeView1 = New System.Windows.Forms.TreeView
47 Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components)
        Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components)
48 Me.Splitter1 = New System.Windows.Forms.Splitter
        Me.Splitter1 = New System.Windows.Forms.Splitter
49 Me.ListView1 = New System.Windows.Forms.ListView
        Me.ListView1 = New System.Windows.Forms.ListView
50 Me.FileName = New System.Windows.Forms.ColumnHeader
        Me.FileName = New System.Windows.Forms.ColumnHeader
51 Me.LastAccess = New System.Windows.Forms.ColumnHeader
        Me.LastAccess = New System.Windows.Forms.ColumnHeader
52 Me.SuspendLayout()
        Me.SuspendLayout()
53 '
        '
54 'StatusBar1
        'StatusBar1
55 '
        '
56 Me.StatusBar1.Location = New System.Drawing.Point(0, 328)
        Me.StatusBar1.Location = New System.Drawing.Point(0, 328)
57 Me.StatusBar1.Name = "StatusBar1"
        Me.StatusBar1.Name = "StatusBar1"
58 Me.StatusBar1.Size = New System.Drawing.Size(544, 22)
        Me.StatusBar1.Size = New System.Drawing.Size(544, 22)
59 Me.StatusBar1.TabIndex = 0
        Me.StatusBar1.TabIndex = 0
60 Me.StatusBar1.Text = "StatusBar1"
        Me.StatusBar1.Text = "StatusBar1"
61 '
        '
62 'TreeView1
        'TreeView1
63 '
        '
64 Me.TreeView1.Dock = System.Windows.Forms.DockStyle.Left
        Me.TreeView1.Dock = System.Windows.Forms.DockStyle.Left
65 Me.TreeView1.ImageList = Me.ImageList1
        Me.TreeView1.ImageList = Me.ImageList1
66 Me.TreeView1.Location = New System.Drawing.Point(0, 0)
        Me.TreeView1.Location = New System.Drawing.Point(0, 0)
67 Me.TreeView1.Name = "TreeView1"
        Me.TreeView1.Name = "TreeView1"
68 Me.TreeView1.Nodes.AddRange(New System.Windows.Forms.TreeNode() {New System.Windows.Forms.TreeNode("我的电脑", 0, 0)})
        Me.TreeView1.Nodes.AddRange(New System.Windows.Forms.TreeNode() {New System.Windows.Forms.TreeNode("我的电脑", 0, 0)})
69 Me.TreeView1.Size = New System.Drawing.Size(121, 328)
        Me.TreeView1.Size = New System.Drawing.Size(121, 328)
70 Me.TreeView1.TabIndex = 1
        Me.TreeView1.TabIndex = 1
71 '
        '
72 'ImageList1
        'ImageList1
73 '
        '
74 Me.ImageList1.ImageSize = New System.Drawing.Size(16, 16)
        Me.ImageList1.ImageSize = New System.Drawing.Size(16, 16)
75 Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer)
        Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer)
76 Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent
        Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent
77 '
        '
78 'Splitter1
        'Splitter1
79 '
        '
80 Me.Splitter1.Location = New System.Drawing.Point(121, 0)
        Me.Splitter1.Location = New System.Drawing.Point(121, 0)
81 Me.Splitter1.Name = "Splitter1"
        Me.Splitter1.Name = "Splitter1"
82 Me.Splitter1.Size = New System.Drawing.Size(3, 328)
        Me.Splitter1.Size = New System.Drawing.Size(3, 328)
83 Me.Splitter1.TabIndex = 2
        Me.Splitter1.TabIndex = 2
84 Me.Splitter1.TabStop = False
        Me.Splitter1.TabStop = False
85 '
        '
86 'ListView1
        'ListView1
87 '
        '
88 Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.FileName, Me.LastAccess})
        Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.FileName, Me.LastAccess})
89 Me.ListView1.Dock = System.Windows.Forms.DockStyle.Fill
        Me.ListView1.Dock = System.Windows.Forms.DockStyle.Fill
90 Me.ListView1.Location = New System.Drawing.Point(124, 0)
        Me.ListView1.Location = New System.Drawing.Point(124, 0)
91 Me.ListView1.Name = "ListView1"
        Me.ListView1.Name = "ListView1"
92 Me.ListView1.Size = New System.Drawing.Size(420, 328)
        Me.ListView1.Size = New System.Drawing.Size(420, 328)
93 Me.ListView1.TabIndex = 3
        Me.ListView1.TabIndex = 3
94 Me.ListView1.View = System.Windows.Forms.View.Details
        Me.ListView1.View = System.Windows.Forms.View.Details
95 '
        '
96 'FileName
        'FileName
97 '
        '
98 Me.FileName.Text = "文件名称"
        Me.FileName.Text = "文件名称"
99 Me.FileName.Width = 200
        Me.FileName.Width = 200
100 '
        '
101 'LastAccess
        'LastAccess
102 '
        '
103 Me.LastAccess.Text = "最后访问时间"
        Me.LastAccess.Text = "最后访问时间"
104 Me.LastAccess.Width = 200
        Me.LastAccess.Width = 200
105 '
        '
106 'Form1
        'Form1
107 '
        '
108 Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
109 Me.ClientSize = New System.Drawing.Size(544, 350)
        Me.ClientSize = New System.Drawing.Size(544, 350)
110 Me.Controls.Add(Me.ListView1)
        Me.Controls.Add(Me.ListView1)
111 Me.Controls.Add(Me.Splitter1)
        Me.Controls.Add(Me.Splitter1)
112 Me.Controls.Add(Me.TreeView1)
        Me.Controls.Add(Me.TreeView1)
113 Me.Controls.Add(Me.StatusBar1)
        Me.Controls.Add(Me.StatusBar1)
114 Me.Name = "Form1"
        Me.Name = "Form1"
115 Me.Text = "Form1"
        Me.Text = "Form1"
116 Me.ResumeLayout(False)
        Me.ResumeLayout(False)
117
118 End Sub
    End Sub
119
120 #End Region
#End Region
121
122
 Private Sub TreeView1_AfterSelect()Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
    Private Sub TreeView1_AfterSelect()Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
123 If e.Node.Text = "我的电脑" Then
        If e.Node.Text = "我的电脑" Then
124 '列举驱动器
            '列举驱动器
125 EnumDriver(e.Node)
            EnumDriver(e.Node)
126 Else
        Else
127 '列举子文件夹。
            '列举子文件夹。
128 EnumDir(e.Node)
            EnumDir(e.Node)
129 End If
        End If
130 End Sub
    End Sub
131
132 '列举驱动器
    '列举驱动器
133
 Private Sub EnumDriver()Sub EnumDriver(ByVal node As TreeNode)
    Private Sub EnumDriver()Sub EnumDriver(ByVal node As TreeNode)
134 Dim drv As String
        Dim drv As String
135 If node.Nodes.Count = 0 Then
        If node.Nodes.Count = 0 Then
136 For Each drv In Directory.GetLogicalDrives
            For Each drv In Directory.GetLogicalDrives
137 TreeView1.SelectedNode = node
                TreeView1.SelectedNode = node
138 Dim tmpNode As New TreeNode
                Dim tmpNode As New TreeNode
139 tmpNode.Text = drv.Substring(0, drv.Length - 1)
                tmpNode.Text = drv.Substring(0, drv.Length - 1)
140 tmpNode.Tag = drv
                tmpNode.Tag = drv
141 tmpNode.ImageIndex = 1
                tmpNode.ImageIndex = 1
142 tmpNode.SelectedImageIndex = 1
                tmpNode.SelectedImageIndex = 1
143
144 TreeView1.SelectedNode.Nodes.Add(tmpNode)
                TreeView1.SelectedNode.Nodes.Add(tmpNode)
145 TreeView1.SelectedNode.Nodes(TreeView1.SelectedNode.Nodes.Count - 1).EnsureVisible()
                TreeView1.SelectedNode.Nodes(TreeView1.SelectedNode.Nodes.Count - 1).EnsureVisible()
146 Next
            Next
147 End If
        End If
148
149 End Sub
    End Sub
150
151 '列举子文件夹名称
    '列举子文件夹名称
152
 Private Sub EnumDir()Sub EnumDir(ByVal node As TreeNode)
    Private Sub EnumDir()Sub EnumDir(ByVal node As TreeNode)
153 TreeView1.SelectedNode = node
        TreeView1.SelectedNode = node
154 Dim DirectoryPath As String = node.Tag.ToString()
        Dim DirectoryPath As String = node.Tag.ToString()
155 If node.Nodes.Count = 0 Then
        If node.Nodes.Count = 0 Then
156 If DirectoryPath.Substring(DirectoryPath.Length - 1) <> "\" Then
            If DirectoryPath.Substring(DirectoryPath.Length - 1) <> "\" Then
157 DirectoryPath += "\"
                DirectoryPath += "\"
158 End If
            End If
159
160 Try
            Try
161 Dim Dir As String
                Dim Dir As String
162 For Each Dir In Directory.GetDirectories(DirectoryPath)
                For Each Dir In Directory.GetDirectories(DirectoryPath)
163 Dim tmpNode As New TreeNode
                    Dim tmpNode As New TreeNode
164 tmpNode.Text = Dir.Substring(Dir.LastIndexOf("\") + 1)
                    tmpNode.Text = Dir.Substring(Dir.LastIndexOf("\") + 1)
165 tmpNode.Tag() = Dir
                    tmpNode.Tag() = Dir
166 tmpNode.ImageIndex = 2
                    tmpNode.ImageIndex = 2
167 tmpNode.SelectedImageIndex = 3
                    tmpNode.SelectedImageIndex = 3
168 TreeView1.SelectedNode.Nodes.Add(tmpNode)
                    TreeView1.SelectedNode.Nodes.Add(tmpNode)
169 TreeView1.SelectedNode.Nodes(TreeView1.SelectedNode.Nodes.Count - 1).EnsureVisible()
                    TreeView1.SelectedNode.Nodes(TreeView1.SelectedNode.Nodes.Count - 1).EnsureVisible()
170 Next
                Next
171 Catch ex As Exception
            Catch ex As Exception
172 End Try
            End Try
173 End If
        End If
174 EnumFile(node)  '列举完文件夹之后再列表显示这个文件夹中的文件。
        EnumFile(node)  '列举完文件夹之后再列表显示这个文件夹中的文件。
175 End Sub
    End Sub
176
177 '列举文件夹下面的文件名称
    '列举文件夹下面的文件名称
178
 Private Sub EnumFile()Sub EnumFile(ByVal node As TreeNode)
    Private Sub EnumFile()Sub EnumFile(ByVal node As TreeNode)
179 Dim DirectoryPath As String = node.Tag.ToString()
        Dim DirectoryPath As String = node.Tag.ToString()
180 If DirectoryPath.Substring(DirectoryPath.Length - 1) <> "\" Then
        If DirectoryPath.Substring(DirectoryPath.Length - 1) <> "\" Then
181 DirectoryPath += "\"
            DirectoryPath += "\"
182 End If
        End If
183 Try
        Try
184 ListView1.Items.Clear()
            ListView1.Items.Clear()
185 Dim tmpFile As String
            Dim tmpFile As String
186 Dim lvItem As ListViewItem
            Dim lvItem As ListViewItem
187 For Each tmpFile In Directory.GetFiles(DirectoryPath)
            For Each tmpFile In Directory.GetFiles(DirectoryPath)
188 lvItem = New ListViewItem(Path.GetFileName(tmpFile))   '文件名称
                lvItem = New ListViewItem(Path.GetFileName(tmpFile))   '文件名称
189 lvItem.SubItems.Add(File.GetLastAccessTime(tmpFile))   '最后访问时间
                lvItem.SubItems.Add(File.GetLastAccessTime(tmpFile))   '最后访问时间
190 ListView1.Items.Add(lvItem)                            '将这个项目加载到ListView中
                ListView1.Items.Add(lvItem)                            '将这个项目加载到ListView中
191 Next
            Next
192 Catch ex As Exception
        Catch ex As Exception
193 End Try
        End Try
194 End Sub
    End Sub
195
196 End Class
End Class
197
 '常用控件介绍 — TreeView和ListView
'常用控件介绍 — TreeView和ListView2

3
 Imports System.IO
Imports System.IO4

 Public Class Form1Class Form1
Public Class Form1Class Form15
 Inherits System.Windows.Forms.Form
    Inherits System.Windows.Forms.Form6

7

 Windows 窗体设计器生成的代码#Region " Windows 窗体设计器生成的代码 "
Windows 窗体设计器生成的代码#Region " Windows 窗体设计器生成的代码 "8

9

 Public Sub New()Sub New()
    Public Sub New()Sub New()10
 MyBase.New()
        MyBase.New()11

12
 '该调用是 Windows 窗体设计器所必需的。
        '该调用是 Windows 窗体设计器所必需的。13
 InitializeComponent()
        InitializeComponent()14

15
 '在 InitializeComponent() 调用之后添加任何初始化
        '在 InitializeComponent() 调用之后添加任何初始化16

17
 End Sub
    End Sub18

19
 '窗体重写 dispose 以清理组件列表。
    '窗体重写 dispose 以清理组件列表。20

 Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)
    Protected Overloads Overrides Sub Dispose()Sub Dispose(ByVal disposing As Boolean)21
 If disposing Then
        If disposing Then22
 If Not (components Is Nothing) Then
            If Not (components Is Nothing) Then23
 components.Dispose()
                components.Dispose()24
 End If
            End If25
 End If
        End If26
 MyBase.Dispose(disposing)
        MyBase.Dispose(disposing)27
 End Sub
    End Sub28

29
 'Windows 窗体设计器所必需的
    'Windows 窗体设计器所必需的30
 Private components As System.ComponentModel.IContainer
    Private components As System.ComponentModel.IContainer31

32
 '注意: 以下过程是 Windows 窗体设计器所必需的
    '注意: 以下过程是 Windows 窗体设计器所必需的33
 '可以使用 Windows 窗体设计器修改此过程。
    '可以使用 Windows 窗体设计器修改此过程。34
 '不要使用代码编辑器修改它。
    '不要使用代码编辑器修改它。35
 Friend WithEvents StatusBar1 As System.Windows.Forms.StatusBar
    Friend WithEvents StatusBar1 As System.Windows.Forms.StatusBar36
 Friend WithEvents TreeView1 As System.Windows.Forms.TreeView
    Friend WithEvents TreeView1 As System.Windows.Forms.TreeView37
 Friend WithEvents Splitter1 As System.Windows.Forms.Splitter
    Friend WithEvents Splitter1 As System.Windows.Forms.Splitter38
 Friend WithEvents ListView1 As System.Windows.Forms.ListView
    Friend WithEvents ListView1 As System.Windows.Forms.ListView39
 Friend WithEvents ImageList1 As System.Windows.Forms.ImageList
    Friend WithEvents ImageList1 As System.Windows.Forms.ImageList40
 Friend WithEvents FileName As System.Windows.Forms.ColumnHeader
    Friend WithEvents FileName As System.Windows.Forms.ColumnHeader41
 Friend WithEvents LastAccess As System.Windows.Forms.ColumnHeader
    Friend WithEvents LastAccess As System.Windows.Forms.ColumnHeader42

 <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()Sub InitializeComponent()43
 Me.components = New System.ComponentModel.Container
        Me.components = New System.ComponentModel.Container44
 Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1))
        Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1))45
 Me.StatusBar1 = New System.Windows.Forms.StatusBar
        Me.StatusBar1 = New System.Windows.Forms.StatusBar46
 Me.TreeView1 = New System.Windows.Forms.TreeView
        Me.TreeView1 = New System.Windows.Forms.TreeView47
 Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components)
        Me.ImageList1 = New System.Windows.Forms.ImageList(Me.components)48
 Me.Splitter1 = New System.Windows.Forms.Splitter
        Me.Splitter1 = New System.Windows.Forms.Splitter49
 Me.ListView1 = New System.Windows.Forms.ListView
        Me.ListView1 = New System.Windows.Forms.ListView50
 Me.FileName = New System.Windows.Forms.ColumnHeader
        Me.FileName = New System.Windows.Forms.ColumnHeader51
 Me.LastAccess = New System.Windows.Forms.ColumnHeader
        Me.LastAccess = New System.Windows.Forms.ColumnHeader52
 Me.SuspendLayout()
        Me.SuspendLayout()53
 '
        '54
 'StatusBar1
        'StatusBar155
 '
        '56
 Me.StatusBar1.Location = New System.Drawing.Point(0, 328)
        Me.StatusBar1.Location = New System.Drawing.Point(0, 328)57
 Me.StatusBar1.Name = "StatusBar1"
        Me.StatusBar1.Name = "StatusBar1"58
 Me.StatusBar1.Size = New System.Drawing.Size(544, 22)
        Me.StatusBar1.Size = New System.Drawing.Size(544, 22)59
 Me.StatusBar1.TabIndex = 0
        Me.StatusBar1.TabIndex = 060
 Me.StatusBar1.Text = "StatusBar1"
        Me.StatusBar1.Text = "StatusBar1"61
 '
        '62
 'TreeView1
        'TreeView163
 '
        '64
 Me.TreeView1.Dock = System.Windows.Forms.DockStyle.Left
        Me.TreeView1.Dock = System.Windows.Forms.DockStyle.Left65
 Me.TreeView1.ImageList = Me.ImageList1
        Me.TreeView1.ImageList = Me.ImageList166
 Me.TreeView1.Location = New System.Drawing.Point(0, 0)
        Me.TreeView1.Location = New System.Drawing.Point(0, 0)67
 Me.TreeView1.Name = "TreeView1"
        Me.TreeView1.Name = "TreeView1"68
 Me.TreeView1.Nodes.AddRange(New System.Windows.Forms.TreeNode() {New System.Windows.Forms.TreeNode("我的电脑", 0, 0)})
        Me.TreeView1.Nodes.AddRange(New System.Windows.Forms.TreeNode() {New System.Windows.Forms.TreeNode("我的电脑", 0, 0)})69
 Me.TreeView1.Size = New System.Drawing.Size(121, 328)
        Me.TreeView1.Size = New System.Drawing.Size(121, 328)70
 Me.TreeView1.TabIndex = 1
        Me.TreeView1.TabIndex = 171
 '
        '72
 'ImageList1
        'ImageList173
 '
        '74
 Me.ImageList1.ImageSize = New System.Drawing.Size(16, 16)
        Me.ImageList1.ImageSize = New System.Drawing.Size(16, 16)75
 Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer)
        Me.ImageList1.ImageStream = CType(resources.GetObject("ImageList1.ImageStream"), System.Windows.Forms.ImageListStreamer)76
 Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent
        Me.ImageList1.TransparentColor = System.Drawing.Color.Transparent77
 '
        '78
 'Splitter1
        'Splitter179
 '
        '80
 Me.Splitter1.Location = New System.Drawing.Point(121, 0)
        Me.Splitter1.Location = New System.Drawing.Point(121, 0)81
 Me.Splitter1.Name = "Splitter1"
        Me.Splitter1.Name = "Splitter1"82
 Me.Splitter1.Size = New System.Drawing.Size(3, 328)
        Me.Splitter1.Size = New System.Drawing.Size(3, 328)83
 Me.Splitter1.TabIndex = 2
        Me.Splitter1.TabIndex = 284
 Me.Splitter1.TabStop = False
        Me.Splitter1.TabStop = False85
 '
        '86
 'ListView1
        'ListView187
 '
        '88
 Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.FileName, Me.LastAccess})
        Me.ListView1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.FileName, Me.LastAccess})89
 Me.ListView1.Dock = System.Windows.Forms.DockStyle.Fill
        Me.ListView1.Dock = System.Windows.Forms.DockStyle.Fill90
 Me.ListView1.Location = New System.Drawing.Point(124, 0)
        Me.ListView1.Location = New System.Drawing.Point(124, 0)91
 Me.ListView1.Name = "ListView1"
        Me.ListView1.Name = "ListView1"92
 Me.ListView1.Size = New System.Drawing.Size(420, 328)
        Me.ListView1.Size = New System.Drawing.Size(420, 328)93
 Me.ListView1.TabIndex = 3
        Me.ListView1.TabIndex = 394
 Me.ListView1.View = System.Windows.Forms.View.Details
        Me.ListView1.View = System.Windows.Forms.View.Details95
 '
        '96
 'FileName
        'FileName97
 '
        '98
 Me.FileName.Text = "文件名称"
        Me.FileName.Text = "文件名称"99
 Me.FileName.Width = 200
        Me.FileName.Width = 200100
 '
        '101
 'LastAccess
        'LastAccess102
 '
        '103
 Me.LastAccess.Text = "最后访问时间"
        Me.LastAccess.Text = "最后访问时间"104
 Me.LastAccess.Width = 200
        Me.LastAccess.Width = 200105
 '
        '106
 'Form1
        'Form1107
 '
        '108
 Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)109
 Me.ClientSize = New System.Drawing.Size(544, 350)
        Me.ClientSize = New System.Drawing.Size(544, 350)110
 Me.Controls.Add(Me.ListView1)
        Me.Controls.Add(Me.ListView1)111
 Me.Controls.Add(Me.Splitter1)
        Me.Controls.Add(Me.Splitter1)112
 Me.Controls.Add(Me.TreeView1)
        Me.Controls.Add(Me.TreeView1)113
 Me.Controls.Add(Me.StatusBar1)
        Me.Controls.Add(Me.StatusBar1)114
 Me.Name = "Form1"
        Me.Name = "Form1"115
 Me.Text = "Form1"
        Me.Text = "Form1"116
 Me.ResumeLayout(False)
        Me.ResumeLayout(False)117

118
 End Sub
    End Sub119

120
 #End Region
#End Region121

122

 Private Sub TreeView1_AfterSelect()Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
    Private Sub TreeView1_AfterSelect()Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect123
 If e.Node.Text = "我的电脑" Then
        If e.Node.Text = "我的电脑" Then124
 '列举驱动器
            '列举驱动器125
 EnumDriver(e.Node)
            EnumDriver(e.Node)126
 Else
        Else127
 '列举子文件夹。
            '列举子文件夹。128
 EnumDir(e.Node)
            EnumDir(e.Node)129
 End If
        End If130
 End Sub
    End Sub131

132
 '列举驱动器
    '列举驱动器133

 Private Sub EnumDriver()Sub EnumDriver(ByVal node As TreeNode)
    Private Sub EnumDriver()Sub EnumDriver(ByVal node As TreeNode)134
 Dim drv As String
        Dim drv As String135
 If node.Nodes.Count = 0 Then
        If node.Nodes.Count = 0 Then136
 For Each drv In Directory.GetLogicalDrives
            For Each drv In Directory.GetLogicalDrives137
 TreeView1.SelectedNode = node
                TreeView1.SelectedNode = node138
 Dim tmpNode As New TreeNode
                Dim tmpNode As New TreeNode139
 tmpNode.Text = drv.Substring(0, drv.Length - 1)
                tmpNode.Text = drv.Substring(0, drv.Length - 1)140
 tmpNode.Tag = drv
                tmpNode.Tag = drv141
 tmpNode.ImageIndex = 1
                tmpNode.ImageIndex = 1142
 tmpNode.SelectedImageIndex = 1
                tmpNode.SelectedImageIndex = 1143

144
 TreeView1.SelectedNode.Nodes.Add(tmpNode)
                TreeView1.SelectedNode.Nodes.Add(tmpNode)145
 TreeView1.SelectedNode.Nodes(TreeView1.SelectedNode.Nodes.Count - 1).EnsureVisible()
                TreeView1.SelectedNode.Nodes(TreeView1.SelectedNode.Nodes.Count - 1).EnsureVisible()146
 Next
            Next147
 End If
        End If148

149
 End Sub
    End Sub150

151
 '列举子文件夹名称
    '列举子文件夹名称152

 Private Sub EnumDir()Sub EnumDir(ByVal node As TreeNode)
    Private Sub EnumDir()Sub EnumDir(ByVal node As TreeNode)153
 TreeView1.SelectedNode = node
        TreeView1.SelectedNode = node154
 Dim DirectoryPath As String = node.Tag.ToString()
        Dim DirectoryPath As String = node.Tag.ToString()155
 If node.Nodes.Count = 0 Then
        If node.Nodes.Count = 0 Then156
 If DirectoryPath.Substring(DirectoryPath.Length - 1) <> "\" Then
            If DirectoryPath.Substring(DirectoryPath.Length - 1) <> "\" Then157
 DirectoryPath += "\"
                DirectoryPath += "\"158
 End If
            End If159

160
 Try
            Try161
 Dim Dir As String
                Dim Dir As String162
 For Each Dir In Directory.GetDirectories(DirectoryPath)
                For Each Dir In Directory.GetDirectories(DirectoryPath)163
 Dim tmpNode As New TreeNode
                    Dim tmpNode As New TreeNode164
 tmpNode.Text = Dir.Substring(Dir.LastIndexOf("\") + 1)
                    tmpNode.Text = Dir.Substring(Dir.LastIndexOf("\") + 1)165
 tmpNode.Tag() = Dir
                    tmpNode.Tag() = Dir166
 tmpNode.ImageIndex = 2
                    tmpNode.ImageIndex = 2167
 tmpNode.SelectedImageIndex = 3
                    tmpNode.SelectedImageIndex = 3168
 TreeView1.SelectedNode.Nodes.Add(tmpNode)
                    TreeView1.SelectedNode.Nodes.Add(tmpNode)169
 TreeView1.SelectedNode.Nodes(TreeView1.SelectedNode.Nodes.Count - 1).EnsureVisible()
                    TreeView1.SelectedNode.Nodes(TreeView1.SelectedNode.Nodes.Count - 1).EnsureVisible()170
 Next
                Next171
 Catch ex As Exception
            Catch ex As Exception172
 End Try
            End Try173
 End If
        End If174
 EnumFile(node)  '列举完文件夹之后再列表显示这个文件夹中的文件。
        EnumFile(node)  '列举完文件夹之后再列表显示这个文件夹中的文件。175
 End Sub
    End Sub176

177
 '列举文件夹下面的文件名称
    '列举文件夹下面的文件名称178

 Private Sub EnumFile()Sub EnumFile(ByVal node As TreeNode)
    Private Sub EnumFile()Sub EnumFile(ByVal node As TreeNode)179
 Dim DirectoryPath As String = node.Tag.ToString()
        Dim DirectoryPath As String = node.Tag.ToString()180
 If DirectoryPath.Substring(DirectoryPath.Length - 1) <> "\" Then
        If DirectoryPath.Substring(DirectoryPath.Length - 1) <> "\" Then181
 DirectoryPath += "\"
            DirectoryPath += "\"182
 End If
        End If183
 Try
        Try184
 ListView1.Items.Clear()
            ListView1.Items.Clear()185
 Dim tmpFile As String
            Dim tmpFile As String186
 Dim lvItem As ListViewItem
            Dim lvItem As ListViewItem187
 For Each tmpFile In Directory.GetFiles(DirectoryPath)
            For Each tmpFile In Directory.GetFiles(DirectoryPath)188
 lvItem = New ListViewItem(Path.GetFileName(tmpFile))   '文件名称
                lvItem = New ListViewItem(Path.GetFileName(tmpFile))   '文件名称189
 lvItem.SubItems.Add(File.GetLastAccessTime(tmpFile))   '最后访问时间
                lvItem.SubItems.Add(File.GetLastAccessTime(tmpFile))   '最后访问时间190
 ListView1.Items.Add(lvItem)                            '将这个项目加载到ListView中
                ListView1.Items.Add(lvItem)                            '将这个项目加载到ListView中191
 Next
            Next192
 Catch ex As Exception
        Catch ex As Exception193
 End Try
        End Try194
 End Sub
    End Sub195

196
 End Class
End Class197

来源:https://www.cnblogs.com/sxg1010/archive/2006/07/28/462420.html