常用控件介绍 — TreeView和ListView(打造资源管理器)

放肆的年华 提交于 2020-04-02 20:08:00

 

  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 ObjectByVal 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
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!