Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - (RISOLTO) [vb.net] icona selezionata treeview
Forum - C# / VB.NET - (RISOLTO) [vb.net] icona selezionata treeview

Avatar
foralobo (Normal User)
Pro


Messaggi: 146
Iscritto: 30/11/2009

Segnala al moderatore
Postato alle 20:00
Sabato, 18/09/2010
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 il 22/09/2010 alle 12:49
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:38
Lunedì, 20/09/2010
Non è possibile cambiare questo comportamento (ho sempre pensato fosse un bug...)


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote
Avatar
foralobo (Normal User)
Pro


Messaggi: 146
Iscritto: 30/11/2009

Segnala al moderatore
Postato alle 16:37
Lunedì, 20/09/2010
infatti...è quello che ho pensato subito io...potrebbe essere usata invece un'icona diversa dalle altre per specificare il nodo selezionato....mah

PM Quote
Avatar
foralobo (Normal User)
Pro


Messaggi: 146
Iscritto: 30/11/2009

Segnala al moderatore
Postato alle 12:46
Mercoledì, 22/09/2010
Testo quotato

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 il 22/09/2010 alle 12:47
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 13:04
Giovedì, 23/09/2010
E' vero, ma non è possibile eliminare (o ignorare) il SelectedImageIndex, cosa che sarebbe più elegante.


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM Quote