Sto lavorando a un progetto VB.NET 2010 con un controllo ad albero. La prima cosa che sto cercando di capire è come inserire un nuovo nodo subito dopo il nodo attualmente selezionato, e quindi rendere quel nodo appena inserito il nodo selezionato . Posso inserire il nuovo nodo senza problemi, ma non riesco a capire come renderlo il nodo "selezionato". La riga commentata qui sotto è la parte su cui mi sto impiccando.TreeView VB.NET - selezionando dinamicamente un nodo dopo che è stato inserito o spostato?
Private Sub AddNode_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddNode.Click
If Not treeview1.SelectedNode Is Nothing Then
treeview1.Nodes.Insert(treeview1.SelectedNode.Index + 1, TextBox1.Text)
treeview.SelectedNode = treeview1.Nodes.Item(treeview1.SelectedNode.Index + 1) ' <-- I thought this would work, but it doesn't
End If
End Sub
In secondo luogo, sto utilizzando il codice seguente per spostare un nodo selezionato verso l'alto (in relazione ad altri nodi). Funziona bene, ma simile al problema sopra, non riesco a capire come mantenere quel nodo come il nodo "selezionato" dopo che è stato spostato.
Private Sub NodeUp_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NodeUp.Click
Dim CurrentIndex As Integer = treeview1.SelectedNode.Index
Dim CurrentNode As TreeNode = treeview1.SelectedNode
treeview1.SelectedNode.Remove()
treeview1.Nodes.Insert(CurrentIndex - 1, CurrentNode)
End Sub
Questo deve essere semplice, ma sto wracking mio cervello cercando di capire come, quindi vorrei apprezzare un po 'di comprensione qui.
Grazie!
Grazie Adrian, entrambe le soluzioni funzionano perfettamente! :) Mi sento un po 'stupido ora dopo aver visto la risposta al mio secondo esempio ... maggiore "doh!" momento, lol. – NotQuiteThereYet
@NotQuiteThereYet Non c'è problema: D Questo è il modo in cui apprendiamo: commettiamo errori e vediamo dove abbiamo sbagliato. Credimi, mi sono fatto degli errori più stupidi di così prima. – Adrian