我已到處尋找,找不到可用的版本。我發現的那些都是過時的或者有錯誤。有沒有人有一個工作的例子,在VB.NET的TreeView中顯示目錄樹結構?
我有一些工作的大部分,但我有限制訪問文件夾的一些麻煩。
我正在使用的代碼如下:
Imports System.IO
Public Class frmMain
Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each drive In DriveInfo.GetDrives
Dim i As Integer = TreeView1.Nodes.Count
TreeView1.Nodes.Add(drive.ToString)
If drive.IsReady Then
PopulateTree(drive.ToString, TreeView1.Nodes(i))
End If
Next
End Sub
Private Sub PopulateTree(ByVal sDir As String, ByVal node As TreeNode)
Dim directory As New DirectoryInfo(sDir)
Try
For Each d As DirectoryInfo In directory.GetDirectories
Dim t As New TreeNode(d.Name)
PopulateTree(d.FullName, t)
node.Nodes.Add(t)
Next
Catch excpt As UnauthorizedAccessException
Debug.WriteLine(excpt.Message)
End Try
End Sub
End Class
出於測試目的,我替換本節......
If drive.IsReady Then
PopulateTree(drive.ToString, TreeView1.Nodes(i))
End If
...這... ...
If drive.toString = "L:\"
PopulateTree(drive.ToString, TreeView1.Nodes(i))
End If
...並且它對該驅動器正常工作。 L:\是一種可移動的USB驅動器。
但是,對於原始代碼,我在某些文件夾上收到調試錯誤,因爲它們受到訪問限制。有沒有辦法忽略這些特定的文件夾並顯示其餘的內容?
調試+異常,確保關閉所有複選框。 – 2010-02-26 20:33:41