Problemas con el Treeview y el Listview

Arseni
15 de Julio del 2005
Hola.
Estoy haciendo una aplicación en la que genero una estructura en forma de
árbol mediante botones (crear nodo hijo, crear nodo hermano, borrar nodo,
....) y cuando selecciono un nodo se muestran en el listview sus nodos hijo.
Todo esto es muy parecido al Explorador de Windows.
El problema viene cuando borro un nodo, automáticamente se selecciona el
nodo padre, pero en el listview aparece el nodo hijo que acabo de borrar como
si existiese. Si hago click sobre el nodo padre(el seleccionado
automáticamente) se corrige el error y en listview aparece la lista de nodos
correcta (sin el que acabo de borrar). Parece como si la colección Nodes no
refrescase inmediatamente y necesitase otro evento para hacerlo. He probado
el refresh, colapsar y expandir, ... y nada de nada.

Adjunto el código...

Private Sub EstructuraEmpresa_AfterSelect(ByVal sender As System.Object,
ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles
EstructuraEmpresa.AfterSelect
For Each node In EstructuraEmpresa.Nodes
ObtenerNodos(node)
Next
Call EstructuraEmpresa_Click(sender, e)
End Sub

Private Sub EstructuraEmpresa_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles EstructuraEmpresa.Click
ListView1.Clear()
node = EstructuraEmpresa.SelectedNode
Dim n As TreeNode
For Each n In node.Nodes
ListView1.Items.Add(n.Text)
Next n
End Sub

Gracias