Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Didiron

Como tirar a seleção azul da treeview?

Recommended Posts

Bom pessoal tenho duas dúvidas ainda quanto a utilização da TreeView que confesso estarem tirando meu sono. rsrs

Procurei de todas as formas na internet e não encontrei uma forma de tirar aquele fundo azul que quando algum item da treeview é clicado ele aparece ao redor do texto, como na imagem abaixo:

 

problemazn.jpg

 

Tem como tirar, ou mudar a cor?

 

E outra dúvida que tenho, é que atualmente a treeview exibe os subitens quando damos um duplo clique no item. Tem como mudar isso para somente um clique?

 

Muito Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mudar a cor não, tirar só se for com o selectedindex = -1, mas isso ai é POG (Programação Orientada a Gambiarra).

 

Creio que você consiga fazer isso do duplo clique tambem com POG. No evento click() procure uma função, a qual eu não me lembro o nome agora, que contem alguma coisa com doubleclick, você faz o pc pensar que você deu um duplo click no lugar de um só.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Tarde KhaosDoctor.

 

Eu não encontrei a propriedade selectedindex na treeview. Tentei: treeview1.selectedindex = -1;

Mas obviamente não funcionou.

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É porque talvez o nome não seja este, tente usar o evento AfterSelect para chamar esta rotina.

 

Este está em C#

 

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
       {
           treeView1.SelectedNode = treeView1.Nodes[-1];
       }

 

 

 

Este está em VB

private sub treeView1_AfterSelect(Byval sender as Object, Byval e as TreeViewEventArgs)

           treeView1.SelectedNode = treeView1.Nodes(-1)

       End sub

 

Caso dê errado, creio que é possível selecionar um nodo e deixá-lo invisivel, assim você usa o nome do nodo entre os parenteses.

 

Quanto ao problema do click, não sei se vai funcionar maas:

 

No evento Click tente:

 

C#

 

private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
       {
           treeView1.SelectedNode.Expand();
       }

 

 

VB

private sub treeView1_NodeMouseClick(sender as object, e as TreeNodeMouseClickEventArgs)

           treeView1.SelectedNode.Expand();
       End sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá KhaosDoctor.

 

Agradeço novamente. Então, você me ajudou a resolver um problema. O do clique, consegui fazer desta forma no evento NodeMouseClick:

 

if (e.Node.IsSelected)
           {
               e.Node.Collapse();
           }
           else
           {
               e.Node.Expand();
           }

 

Mas infelizmente de tirar a cor da seleção, não deu certo a forma que você falou. O código que você informou gera a seguinte excessão: Argumento especificado estava fora do intervalo de valores válidos.

É acho que essa parte da cor azul terei que deixar assim mesmo. Agradeço muito a sua ajduda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Infelizmente não encontrei nenhum tipo de função que tire a seleção também, desculpe não poder ajudar nesse quesito, mas resolvemos um problema pelo menos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim sim KhaosDoctor. Pesquisarei alguma solução em outros locais e caso a encontre postarei aqui para futuras consultas. Agradeço muito pela sua ajuda e empenho!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.