1
'常用控件介绍 — TreeView和ListView
2![](/Images/OutliningIndicators/None.gif)
3
Imports System.IO
4
Public Class Form1
5
Inherits System.Windows.Forms.Form
6![](/Images/OutliningIndicators/InBlock.gif)
7
Windows 窗体设计器生成的代码
121![](/Images/OutliningIndicators/InBlock.gif)
122
Private Sub TreeView1_AfterSelect(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
123
If e.Node.Text = "我的电脑" Then
124
'列举驱动器
125
EnumDriver(e.Node)
126
Else
127
'列举子文件夹。
128
EnumDir(e.Node)
129
End If
130
End Sub
131![](/Images/OutliningIndicators/InBlock.gif)
132
'列举驱动器
133
Private Sub EnumDriver(ByVal node As TreeNode)
134
Dim drv As String
135
If node.Nodes.Count = 0 Then
136
For Each drv In Directory.GetLogicalDrives
137
TreeView1.SelectedNode = node
138
Dim tmpNode As New TreeNode
139
tmpNode.Text = drv.Substring(0, drv.Length - 1)
140
tmpNode.Tag = drv
141
tmpNode.ImageIndex = 1
142
tmpNode.SelectedImageIndex = 1
143![](/Images/OutliningIndicators/InBlock.gif)
144
TreeView1.SelectedNode.Nodes.Add(tmpNode)
145
TreeView1.SelectedNode.Nodes(TreeView1.SelectedNode.Nodes.Count - 1).EnsureVisible()
146
Next
147
End If
148![](/Images/OutliningIndicators/InBlock.gif)
149
End Sub
150![](/Images/OutliningIndicators/InBlock.gif)
151
'列举子文件夹名称
152
Private Sub EnumDir(ByVal node As TreeNode)
153
TreeView1.SelectedNode = node
154
Dim DirectoryPath As String = node.Tag.ToString()
155
If node.Nodes.Count = 0 Then
156
If DirectoryPath.Substring(DirectoryPath.Length - 1) <> "\" Then
157
DirectoryPath += "\"
158
End If
159![](/Images/OutliningIndicators/InBlock.gif)
160
Try
161
Dim Dir As String
162
For Each Dir In Directory.GetDirectories(DirectoryPath)
163
Dim tmpNode As New TreeNode
164
tmpNode.Text = Dir.Substring(Dir.LastIndexOf("\") + 1)
165
tmpNode.Tag() = Dir
166
tmpNode.ImageIndex = 2
167
tmpNode.SelectedImageIndex = 3
168
TreeView1.SelectedNode.Nodes.Add(tmpNode)
169
TreeView1.SelectedNode.Nodes(TreeView1.SelectedNode.Nodes.Count - 1).EnsureVisible()
170
Next
171
Catch ex As Exception
172
End Try
173
End If
174
EnumFile(node) '列举完文件夹之后再列表显示这个文件夹中的文件。
175
End Sub
176![](/Images/OutliningIndicators/InBlock.gif)
177
'列举文件夹下面的文件名称
178
Private Sub EnumFile(ByVal node As TreeNode)
179
Dim DirectoryPath As String = node.Tag.ToString()
180
If DirectoryPath.Substring(DirectoryPath.Length - 1) <> "\" Then
181
DirectoryPath += "\"
182
End If
183
Try
184
ListView1.Items.Clear()
185
Dim tmpFile As String
186
Dim lvItem As ListViewItem
187
For Each tmpFile In Directory.GetFiles(DirectoryPath)
188
lvItem = New ListViewItem(Path.GetFileName(tmpFile)) '文件名称
189
lvItem.SubItems.Add(File.GetLastAccessTime(tmpFile)) '最后访问时间
190
ListView1.Items.Add(lvItem) '将这个项目加载到ListView中
191
Next
192
Catch ex As Exception
193
End Try
194
End Sub
195![](/Images/OutliningIndicators/InBlock.gif)
196
End Class
197![](/Images/OutliningIndicators/None.gif)
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
5
![](/Images/OutliningIndicators/InBlock.gif)
6
![](/Images/OutliningIndicators/InBlock.gif)
7
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
121
![](/Images/OutliningIndicators/InBlock.gif)
122
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
123
![](/Images/OutliningIndicators/InBlock.gif)
124
![](/Images/OutliningIndicators/InBlock.gif)
125
![](/Images/OutliningIndicators/InBlock.gif)
126
![](/Images/OutliningIndicators/InBlock.gif)
127
![](/Images/OutliningIndicators/InBlock.gif)
128
![](/Images/OutliningIndicators/InBlock.gif)
129
![](/Images/OutliningIndicators/InBlock.gif)
130
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
131
![](/Images/OutliningIndicators/InBlock.gif)
132
![](/Images/OutliningIndicators/InBlock.gif)
133
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
134
![](/Images/OutliningIndicators/InBlock.gif)
135
![](/Images/OutliningIndicators/InBlock.gif)
136
![](/Images/OutliningIndicators/InBlock.gif)
137
![](/Images/OutliningIndicators/InBlock.gif)
138
![](/Images/OutliningIndicators/InBlock.gif)
139
![](/Images/OutliningIndicators/InBlock.gif)
140
![](/Images/OutliningIndicators/InBlock.gif)
141
![](/Images/OutliningIndicators/InBlock.gif)
142
![](/Images/OutliningIndicators/InBlock.gif)
143
![](/Images/OutliningIndicators/InBlock.gif)
144
![](/Images/OutliningIndicators/InBlock.gif)
145
![](/Images/OutliningIndicators/InBlock.gif)
146
![](/Images/OutliningIndicators/InBlock.gif)
147
![](/Images/OutliningIndicators/InBlock.gif)
148
![](/Images/OutliningIndicators/InBlock.gif)
149
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
150
![](/Images/OutliningIndicators/InBlock.gif)
151
![](/Images/OutliningIndicators/InBlock.gif)
152
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
153
![](/Images/OutliningIndicators/InBlock.gif)
154
![](/Images/OutliningIndicators/InBlock.gif)
155
![](/Images/OutliningIndicators/InBlock.gif)
156
![](/Images/OutliningIndicators/InBlock.gif)
157
![](/Images/OutliningIndicators/InBlock.gif)
158
![](/Images/OutliningIndicators/InBlock.gif)
159
![](/Images/OutliningIndicators/InBlock.gif)
160
![](/Images/OutliningIndicators/InBlock.gif)
161
![](/Images/OutliningIndicators/InBlock.gif)
162
![](/Images/OutliningIndicators/InBlock.gif)
163
![](/Images/OutliningIndicators/InBlock.gif)
164
![](/Images/OutliningIndicators/InBlock.gif)
165
![](/Images/OutliningIndicators/InBlock.gif)
166
![](/Images/OutliningIndicators/InBlock.gif)
167
![](/Images/OutliningIndicators/InBlock.gif)
168
![](/Images/OutliningIndicators/InBlock.gif)
169
![](/Images/OutliningIndicators/InBlock.gif)
170
![](/Images/OutliningIndicators/InBlock.gif)
171
![](/Images/OutliningIndicators/InBlock.gif)
172
![](/Images/OutliningIndicators/InBlock.gif)
173
![](/Images/OutliningIndicators/InBlock.gif)
174
![](/Images/OutliningIndicators/InBlock.gif)
175
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
176
![](/Images/OutliningIndicators/InBlock.gif)
177
![](/Images/OutliningIndicators/InBlock.gif)
178
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
179
![](/Images/OutliningIndicators/InBlock.gif)
180
![](/Images/OutliningIndicators/InBlock.gif)
181
![](/Images/OutliningIndicators/InBlock.gif)
182
![](/Images/OutliningIndicators/InBlock.gif)
183
![](/Images/OutliningIndicators/InBlock.gif)
184
![](/Images/OutliningIndicators/InBlock.gif)
185
![](/Images/OutliningIndicators/InBlock.gif)
186
![](/Images/OutliningIndicators/InBlock.gif)
187
![](/Images/OutliningIndicators/InBlock.gif)
188
![](/Images/OutliningIndicators/InBlock.gif)
189
![](/Images/OutliningIndicators/InBlock.gif)
190
![](/Images/OutliningIndicators/InBlock.gif)
191
![](/Images/OutliningIndicators/InBlock.gif)
192
![](/Images/OutliningIndicators/InBlock.gif)
193
![](/Images/OutliningIndicators/InBlock.gif)
194
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
195
![](/Images/OutliningIndicators/InBlock.gif)
196
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
197
![](/Images/OutliningIndicators/None.gif)