我想創建一個簡單的打印機管理器來在我們的終端服務器環境中使用。由於GPO限制,我可以使用的內置功能有限制。所以我決定嘗試寫我自己的簡單GUI來做到這一點。VB.NET +將文件夾添加到樹視圖和文件到列表視圖
現在,打印機分佈在一個文件夾中,用子文件夾對它們進行分類。在每個文件夾中,打印服務器上的實際打印機都有.lnk文件。
我想要做的是使用文件夾和列表視圖中的打印機填充樹視圖,基於哪個項目在樹視圖上單擊。
我已經設法搜索目錄並搜索我點擊過的每個項目的文件。但是我意識到,爲什麼不在表單啓動期間使用集合或類似工具來執行此操作?這樣,它會更快。因爲現在,每次點擊樹狀視圖中的項目都會有一些延遲。因爲它每次都掃描文件。
我該如何添加相同的集合並使用它呢?
這裏是我當前的代碼:
Public Sub populateTreeView(ByVal strPath As String)
Dim di As New IO.DirectoryInfo(strPath)
Dim diar1 As IO.DirectoryInfo() = di.GetDirectories()
Dim dra As IO.DirectoryInfo
For Each dra In diar1
ImageList1.Images.Add(GetSmallIcon(dra.FullName))
TreeView1.Nodes.Add("", dra.Name, nIndex)
nIndex = nIndex + 1
Next
End Sub
Private Sub TreeView1_AfterSelect(sender As Object, e As TreeViewEventArgs) Handles TreeView1.AfterSelect
ListView1.Clear()
nIndex = 0
Dim di As New IO.DirectoryInfo(strIniSettings & "\" & TreeView1.SelectedNode.Text)
Dim diar1 As IO.FileInfo() = di.GetFiles()
Dim dra As IO.FileInfo
For Each dra In diar1
Dim strName As String
strName = Replace(dra.Name, ".lnk", "")
ImageList2.Images.Add(GetLargeIcon(dra.FullName))
ListView1.Items.Add("", strName, nIndex)
nIndex = nIndex + 1
Next
End Sub
通知的圖像列表?我也爲每個項目獲取圖標。
這將做到這一點!謝謝! :)雖然我不得不對代碼做一些更改,但我不想像這樣在動態創建控件。但這只是一個小任務:) –