我有这个代码,基本上循环遍历一组文件夹和子文件夹,并找到特定的文件类型。然后在列表视图中列出这些。现在,它旨在列出exe和msi文件。我已经做到这一点,这些图标在列出后可以双击。我这样做是通过在其标签属性中添加文件的路径。
但是,我的上司希望每个项目旁边都有一个复选框。这样他们就可以检查他们想要安装的每个项目。然后有一个按钮,一次一个地运行每个标签属性中的路径。它基本上是我填充列表视图的部分,其中包含exe或msi文件的复选框,文件名,标签以及我想知道的图标。
这是现有代码。这包括列表视图的平铺视图。
Public Sub getDirectories(ByVal strFilepath As String, ByVal strFileExtension As String, ByVal objControl As Object)
'Load first files from the root folder. Then loop each subfolder
Dim di As New DirectoryInfo(strFilepath)
Dim aryFi As IO.FileInfo() = di.GetFiles(strFileExtension, SearchOption.AllDirectories)
Dim filePath As String
Dim fileIcon As Icon
' For each file in the root folder
For Each file In aryFi
If file.Extension = String.Empty Then
Else
filePath = GetAssociatedProgram(file.Extension)
On Error Resume Next
'Extract icon
fileIcon = Drawing.Icon.ExtractAssociatedIcon(filePath)
'Add the icon if we haven't got it already
objControl.StateImageList = Form1.iconList
If Form1.iconList.Images.ContainsKey(filePath) Then
Else
Form1.iconList.Images.Add(filePath, fileIcon)
End If
'Add item to list
objControl.items.add(file.Name, filePath).Tag = file.DirectoryName
End If
Next
End Sub
基本上我用这种方式称呼这个子:
getDirectories(strProgramLocation, "*.exe", Form1.listViewSupSoftware)
我发现我可以将项目添加到列表视图中,列表视图也包含列:
Dim tempstr(2) As String
tempstr(0) = "Name of item"
tempstr(1) = "Target folder of item"
Dim tempNode As ListViewItem
tempNode = New ListViewItem(tempstr)
Form1.listViewItem.Items.Add(tempNode)
但应该有一种方法将这两者合并吗?我不确定如何在列表视图的第一列中添加复选框?我已经将listview的Checkbox属性设置为True。但是我可以在这里使用一些指针,如果有人有的话。 :)
答案 0 :(得分:-1)
正如我所说,我不确定如果我明白你的意思......