Categorizar itens da Caixa de listagem por Cor

Então, eu estou tentando fazer uma caixa de listagem com 2 botões. O Listbox deve exibir arquivos de uma pasta específica (volto a isso) E os dois botões devem se chamar "Set .." (como no diretório definido) e Update (Como a lista será atualizada (algo que eu faço) sempre que o Windows Form for executado.

Então, a partir de agora, quando inicio meu aplicativo e vou para o formulário com a caixa de listagem, a caixa de listagem está vazia. Ao pressionar "Atualizar", a caixa de listagem pega os arquivos de um endereço localizado no meu disco rígido (então esse é um endereço estático localizado no meu código).

Ele também encontra 7 extensões diferentes (tipos de arquivos) e lista todas elas corretamente.

Meu problema é o seguinte: desejo que o botão set abra uma caixa de diálogo de arquivo para o usuário no First-Time Runtime, para que o próprio usuário possa escolher qual pasta o programa "Indexes or Searches", se desejar. E então, quando ele executa o aplicativo novamente e encontra a caixa de listagem, ele pode apenas pressionar Atualizar, e a caixa de listagem mostra o conteúdo da pasta que ele escolheu da última vez.

O botão Set - não faz nada no meu código no momento.

Segundo, quero que cada tipo de arquivo seja rotulado ou colorido com uma cor específica.

Gostar; .txt deve ser azul, .jpg é vermelho, etc.

Executando o Visual Studio 2013, se isso ajudar.

Além disso, ao verificar meu código, se você também tiver alguma sugestão, como posso melhorar o código, torná-lo mais fácil, mais curto e apenas para mudar as coisas para evitar códigos duplicados, entre em contato.

Aqui está o design do VS2013

Código:

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

Outra coisa, isso é mais opcional ..

Minha lista é completamente preta, então eu escolho que os "Itens" na caixa de listagem fiquem cinza claro.

Eu brinquei com algo chamado e.Graphics na esperança de conseguir Colorir um tipo de arquivo específico, e ele transformou TODOS os itens em Preto, Vermelho ou o que eu colocar. Mas, após a remoção do código, todos os itens se transformam na mesma cor da cor de fundo da caixa de listagem. Portanto, não consigo mais ver os elementos que estão realmente lá, exceto a barra de rolagem que aparece ao lado (uma vez que há muitos itens na pasta que escolhi)

Além disso, ainda não sou tão bom com o estúdio de codificação / visual, como comecei há cerca de uma semana atrás. Comecei com o VB 2010 e depois fui para o VS2013 para ver se eu conseguia corrigir alguns problemas, também relacionados à caixa de listagem.

Se eu expliquei um pouco, avise-me e atualizarei com informações melhores. O projeto também foi criado pela primeira vez no VB 2010 e, em seguida, "Migrado" ou aberto no VS 2013.

questionAnswers(1)

yourAnswerToTheQuestion