Usuário com melhor resposta
Ícone treeview está mudando ao selecionar

Pergunta
-
Boa tarde pessoal.
Estou criando um código para reproduzir um windows explorer em miniatura. Eu adicionei um treeview e um list view e um imagelist para isso. Eu listo todas as unidades de discos no treeview e já adiciono o ícone de HardDrive. Ao adicionar as pastas de uma unidade de disco, eu tb adicione o ícone de uma pasta fechada. Ao clicar o sinal de mais ao lado da pasta que quero abrir, eu troco para um ícone com uma pasta aberta. Se eu usar apenas os sinais de mais e menos, o treeview gerencia os ícones de forma perfeita. Mas se eu for por duplo click nos nomes das pastas, a pasta fechada é trocada pelo ícone do HardDrive! Mesmo se eu dou um click apenas na pasta, para mostrar os arquivos que ela tem no listview, o ícone do treeview troca para o HardDrive.
Uma coisa que eu percebi, é que o ícone que volta a aparecer é sempre o ícone de indice 0 no imagelist. E mesmo colocando linhas de código para alterar o ícone da pasta selecionada no afterselec do treeview, o ícone não volta.
Eu já fiquei algum tempo em cima desse problema e não fui capaz de resolvê-lo. Peço ajuda de vocês, pois esse detalhe está me incomodando muito! Fica muito estranho toda hora clicar em uma pasta e essa pasta mudar o ícone para um harddrive!
Eu subi o projeto nesse link: https://docs.google.com/open?id=0BzLGGg2s75kwZXlkemViNEZaa3M
A pergunta é: como faço para o ícone correto ficar aparecer quando uma pasta for selecionada pelo clique do mouse? Ele até armazena o índice correto, pois quando desço para a próxima pasta, o ícone correto volta para o seu lugar.
Desde já, obrigado pela atenção.
Giovani
- Editado Giovani Rodrigues segunda-feira, 17 de setembro de 2012 16:58 Removendo linhas sujas
Respostas
-
Olá,
Dê uma olhada neste projeto: http://www.codeproject.com/Articles/301943/TreeView-Explorer-using-VB-NET-2008
Visual Studio 2010(Vb.Net)
- Marcado como Resposta Giovani Rodrigues quarta-feira, 26 de setembro de 2012 21:32
-
Ao setar o index da imagem:
no.ImageIndex = 2;
Set também o index quando estiver selecionado:
no.SelectedImageIndex = 2;
- Marcado como Resposta Giovani Rodrigues quinta-feira, 7 de novembro de 2013 14:59
Todas as Respostas
-
Olá,
Dê uma olhada neste projeto: http://www.codeproject.com/Articles/301943/TreeView-Explorer-using-VB-NET-2008
Visual Studio 2010(Vb.Net)
- Marcado como Resposta Giovani Rodrigues quarta-feira, 26 de setembro de 2012 21:32
-
-
Ao setar o index da imagem:
no.ImageIndex = 2;
Set também o index quando estiver selecionado:
no.SelectedImageIndex = 2;
- Marcado como Resposta Giovani Rodrigues quinta-feira, 7 de novembro de 2013 14:59
-
-