VB.NET - Добавление элементов в список, а также флажки и свойство тега - PullRequest
0 голосов
/ 14 июня 2011

У меня есть этот код, который в основном просматривает набор папок и подпапок и находит определенные типы файлов. И затем перечисляет их в виде списка. Теперь он предназначен для перечисления EXE и MSI-файлов. И я сделал так, чтобы эти значки можно было дважды щелкнуть после их перечисления. Я делаю это, добавляя путь к файлу в свойстве тега.

Но мои начальники хотят поставить флажок рядом с каждым элементом. Так что они могут проверить каждый элемент, который они хотят установить. И затем есть кнопка, которая запускает путь в каждом свойстве тега по одному. По сути, это та часть, где я заполняю просмотр списка флажком, именем файла exe или msi, тегом и значком, который меня интересует.

Это существующий код. Это включает в себя только Tile представление списка просмотра.

   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)

Но должен быть способ объединить эти два, верно? Я не уверен, как я могу добавить флажок в первом столбце списка? Я уже установил свойство Checkbox для списка в True. Но я мог бы использовать некоторые указатели здесь, если у кого-то есть. :)

1 Ответ

0 голосов
/ 14 июня 2011

Ммм, я не очень хорошо понимаю ваш вопрос.Если у вас уже есть список, вам просто нужно использовать CheckedListBox и зациклить все проверенные элементы, выполняя исполняемый файл, сохраненный в свойстве тега ...

Как я уже сказал, я не уверен, получу ли вы то, что вызначит ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...