1'常用控件介绍 — TreeView和ListView
2
3Imports System.IO
4Public Class Form1
5 Inherits System.Windows.Forms.Form
6
7Windows 窗体设计器生成的代码
121
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
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
144 TreeView1.SelectedNode.Nodes.Add(tmpNode)
145 TreeView1.SelectedNode.Nodes(TreeView1.SelectedNode.Nodes.Count - 1).EnsureVisible()
146 Next
147 End If
148
149 End Sub
150
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
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
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
196End Class
197
2
3Imports System.IO
4Public Class Form1
5 Inherits System.Windows.Forms.Form
6
7Windows 窗体设计器生成的代码
121
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
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
144 TreeView1.SelectedNode.Nodes.Add(tmpNode)
145 TreeView1.SelectedNode.Nodes(TreeView1.SelectedNode.Nodes.Count - 1).EnsureVisible()
146 Next
147 End If
148
149 End Sub
150
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
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
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
196End Class
197