Классифицировать элементы списка по цвету

Поэтому я пытаюсь сделать список с 2 кнопками. Listbox должен отображать файлы из определенной папки (я возвращаюсь к этому), а две кнопки должны называться «Set ..» (как в папке set) и Update (как список будет обновляться (что-то я делаю) каждый раз, когда запускается форма Windows.

Итак, на данный момент, когда я запускаю свое приложение и перехожу к форме со списком, список пуст. При нажатии «Обновить» окно «Список» получает файлы с адреса, расположенного на моем жестком диске (так что это статический адрес, расположенный в моем коде).

Он также находит 7 различных расширений (Filetypes) и перечисляет их все правильно.

Моя проблема заключается в следующем: я хочу, чтобы кнопка Set открывала диалоговое окно «Файл» для пользователя в режиме первого запуска, чтобы пользователь сам мог выбрать, какую папку программа «Индексирует или ищет», если вы захотите. И затем, когда он снова запускает приложение и находит список, он может нажать только «Обновить», и в списке отображается содержимое папки, которую он выбрал в прошлый раз.

Кнопка Set - сейчас ничего не делает в моем коде.

Во-вторых, я хочу, чтобы каждый тип файла был помечен или окрашен в определенный цвет.

Подобно; .txt должен быть синим, .jpg красным, т. д ..

Запуск Visual Studio 2013, если это поможет.

Кроме того, при проверке моего кода, если у вас есть какие-либо предложения, как я могу улучшить код, сделать его проще, короче и просто изменить что-то, чтобы избежать дублирования кодов, пожалуйста, дайте мне знать.

Вот из дизайна в VS2013

Код:

Private Sub Form_Load(sender As Object, e As EventArgs) Handles Me.Load

FolderBrowserDialog1.SelectedPath = "xxx\xxx\xxx\xxx"
        System.IO.Directory.GetCurrentDirectory()

 Private Sub updateButtonGame_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles updateButtonGame.Click
        If FolderBrowserDialog1.SelectedPath = "xxx\xxx\xxx\xxx" Then

            ListFiles(FolderBrowserDialog1.SelectedPath)

        End If
    End Sub

    Private Sub ListFiles(ByVal folderPath As String)
        filesListBox.Items.Clear()

        Dim fi = From f In New IO.DirectoryInfo(FolderBrowserDialog1.SelectedPath).GetFiles().Cast(Of IO.FileInfo)() _
                  Where f.Extension = ".z64" OrElse f.Extension = ".nds" OrElse f.Extension = ".BIN" OrElse f.Extension = ".smc" OrElse f.Extension = ".ISO" OrElse f.Extension = ".nes" OrElse f.Extension = ".gb"
                  Order By f.Extension
                  Select f

        For Each fileInfo As System.IO.FileInfo In fi
            filesListBox.Items.Add(fileInfo.Name)
        Next

    End Sub

Другое дело, это более необязательно ..

Мой список полностью черный, поэтому я хочу, чтобы «Элементы» в списке были светло-серыми.

Я поиграл с чем-то, что называется e.Graphics, в надежде добиться раскраски определенного типа файла, и он превратил ВСЕ элементы в черный, красный или любой другой. Но после удаления кода все элементы становятся того же цвета, что и цвет фона списка. Таким образом, я больше не вижу элементов, которые на самом деле находятся там, кроме полосы прокрутки, появляющейся сбоку (поскольку в папке, которую я выбрал, находится много элементов)

Кроме того, я пока не очень хорошо разбираюсь в программировании и визуальной студии, так как начал работать около недели назад. Начал с VB 2010, а затем перешел на VS2013, чтобы посмотреть, удалось ли мне исправить некоторые проблемы, также связанные со списком.

Если я объяснил довольно плохо, дайте мне знать, и я буду обновлять с лучшей информацией. Проект также был сначала создан в VB 2010, а затем «перенесен» или открыт в VS 2013.

Ответы на вопрос(1)

Ваш ответ на вопрос