现处理一项目,以项目需要特最一个类似资源管理器样式的资源管理界面,鉴于递归调用的资源耗时等诸多问题,参考网上诸多类似评论、文章等特将部分关键代码共享,希望得到大家的指点和知识传授。
首先建议一个动态的邦定函数,参数为硬盘读取路径信息
关键代码如下:
'邦定treeview
Private Sub TreeviewBind(ByVal Path As String)
Dim paths As String = Path
TreeView1.BeginUpdate()
Dim dnMyDrives As TreeNode = New TreeNode(paths)
TreeView1.Nodes.Add(dnMyDrives)
TreeView1.EndUpdate()
End Sub通过调用其余对应的两个函数实现对应的文件和文件夹的对应邦定
具体代码如下(对应文件夹邦定)
treeView1.BeginUpdate()
iDirectories = 0
Try
Dim diRoot As DirectoryInfo
If tnSubNode.SelectedImageIndex < 11 Then
diRoot = New DirectoryInfo(tnSubNode.FullPath + "\")
Else
diRoot = New DirectoryInfo(tnSubNode.FullPath)
End If
Dim dirs As DirectoryInfo() = diRoot.GetDirectories
tnSubNode.Nodes.Clear()
For Each dir As DirectoryInfo In dirs
System.Math.Min(System.Threading.Interlocked.Increment(iDirectories), iDirectories - 1)
Dim subNode As TreeNode = New TreeNode(dir.Name)
subNode.ImageIndex = 0
subNode.SelectedImageIndex = 1
tnSubNode.Nodes.Add(subNode)
Next
Catch
End Try
treeView1.EndUpdate()然后再附加对应的统计提示便可

浙公网安备 33010602011771号