Oppure

Loading
18/09/10 18:00
foralobo
salve...diverse volte mi sono trovato a lavorare con il controllo TreeView ma c'è una coriosità che mai ha trovato risposta.

quando viene associato ad un treeview un controllo imagelist ovviamente si puo fare uso di icone ma quando clicco su ogni noto mi cambia l'icona e me la sostituisce con l'icona che nell'imagelist ha come indice 0 (la prima dell'insieme)..

mi chiedevo se è possibile eliminare questo problema...tra le proprietà non ho trovato nulla...


grazie
Ultima modifica effettuata da foralobo 22/09/10 10:49
aaa
20/09/10 8:38
Il Totem
Non è possibile cambiare questo comportamento (ho sempre pensato fosse un bug...)
aaa
20/09/10 14:37
foralobo
infatti...è quello che ho pensato subito io...potrebbe essere usata invece un'icona diversa dalle altre per specificare il nodo selezionato....mah
aaa
22/09/10 10:46
foralobo
Postato originariamente da foralobo:

infatti...è quello che ho pensato subito io...potrebbe essere usata invece un'icona diversa dalle altre per specificare il nodo selezionato....mah


EDIT: a quanto pare invece non è affatto un bug..e c'è la possibilità di risolvere questo problema e anche in maniera piuttosto semplice...

se a qualcuno può interessare:

il metodo "Add" dell'oggetto treeNode ha diversi overload.
spesso quando usiamo l'immagine di una imagelist per il nodo usiamo l'verload :

nodo.add(key,text,imageindex)

oppure

nodo.add(key,text,imagekey)

ma esistono anche altri overload:

nodo.add(key,text,imageindex,selectedimageindex)
nodo.add(key,text,imagekey,selectedimagekey)

basta dunque inserire lo stesso valore nel 3° e nel 4° parametro e il gioco è fatto...

del resto pensandoci bene, se ad esempio abbiamo già steso molto codice e sarebbe difficoltoso andarlo a cambiare tutto

potremmo agire sull'evento "aftet_select" del controllo treeview impostando la proprietà:

e.Node.SelectedImageIndex = e.Node.ImageIndex
oppure:
e.Node.SelectedImageKey = e.Node.ImageKey
Ultima modifica effettuata da foralobo 22/09/10 10:47
aaa
23/09/10 11:04
Il Totem
E' vero, ma non è possibile eliminare (o ignorare) il SelectedImageIndex, cosa che sarebbe più elegante.
aaa