Tôi đang làm việc trên một dự án VB.NET 2010 có tính năng kiểm soát treeview. Điều đầu tiên tôi đang cố gắng tìm ra là làm thế nào để chèn một nút mới ngay sau nút hiện được chọn, và sau đó thực hiện nút vừa được chèn vào đó, nút được chọn là. Tôi có thể chèn nút mới không có vấn đề, nhưng tôi không thể tìm ra cách để làm cho nó nút "đã chọn". Dòng nhận xét dưới đây là phần tôi bị treo lên.VB.NET TreeView - tự động chọn một nút sau khi đã được chèn hoặc di chuyển?
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
Thứ hai, tôi đang sử dụng mã bên dưới để di chuyển nút đã chọn (liên quan đến các nút khác). Điều đó hoạt động tốt, nhưng tương tự như vấn đề ở trên, tôi không thể tìm ra cách giữ nút đó như nút "đã chọn" sau khi nó đã được di chuyển.
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
Điều này phải đơn giản, nhưng tôi đang cố gắng tìm ra cách, vì vậy tôi sẽ đánh giá cao một chút thông tin chi tiết tại đây.
Cảm ơn!
Cảm ơn Adrian, cả hai giải pháp đều hoạt động hoàn hảo! :) Tôi cảm thấy ngớ ngẩn bây giờ sau khi nhìn thấy câu trả lời cho ví dụ thứ 2 của tôi ... chính "doh!" khoảnh khắc, lol. – NotQuiteThereYet
@NotQuiteThereYet Không có vấn đề gì: D Đây là cách chúng ta học - chúng ta mắc lỗi và thấy chúng ta đã đi sai ở đâu. Tin tôi đi, tôi đã mắc sai lầm sillier hơn trước đây. – Adrian