Ho un comportamento strano utilizzando un TreeView con immagini differenti sui nodi.
Praticamente, dopo aver creato i vari livelli di nodi con l'immagine corretta su ogni nodo, quando faccio click su un nodo l'immagine cambia (viene messa quella che ha indice=0) e ritorna quella giusta quando rendo attivo un altro nodo. Il comportamento strano lo si vede dalle immagini seguenti:
Questa è l'immagine dell'albero appena creato:
Poi faccio click sul nodo "Deliverables" e la sua immagine cambia:
Quando poi il nodo attivo cambia sul precedente viene ripristinata l'immagine corretta e cambia quella del nuovo nodo attivo:
Il treeview viene creato con le seguenti istruzioni:
tvwTransList.BeginUpdate() tvwTransList.Nodes.Clear() keyNode = KOD nd = tvwTransList.Nodes.Add(keyNode, "Design Centers Document List", "Documents") If Not EmptyDCSpecs Then Dim lowBound As Integer = DCSpecs.GetLowerBound(0), uppbound As Integer = DCSpecs.GetUpperBound(0) Dim ndc As TreeNode, ndci As TreeNode, ndct As TreeNode For i As Integer = lowBound To uppbound keyNode = nd.Name & KEYSEP & DCSpecs(i).DCID.ToString ndc = nd.Nodes.Add(keyNode, StringToTitleCase(DCSpecs(i).DCName), "DesignCenter") keyNode = ndc.Name & KEYSEP & TreeType.Issues.ToString("d") ndci = ndc.Nodes.Add(keyNode, "Deliverable Documents", "Issue") Call AddDummyChild(KEYSEP, FALSECHILD, ndci) keyNode = ndc.Name & KEYSEP & TreeType.Transmittals.ToString("d") ndct = ndc.Nodes.Add(keyNode, "In-Progress/Issued Transmittals", "Transmittal") Call AddDummyChild(KEYSEP, FALSECHILD, ndct) ndc.Expand() Next i End If nd.Expand() tvwTransList.EndUpdate()
Al nodo viene assegnata l'immagine attraverso la chiave della stessa (il Name del contenitore imgList a sua volta assegnato al treeview) come si vede dalla seguente immagine:
Esiste un modo per evitare questo comportamento bizzarro?
ImageIndex non può essere nullo (a quanto mi pare).
Grazie
Stefano