删除选定节点会删除所有树节点吗?
Remove selected node removes all treenodes?
我 select 我想从树中删除一个节点。
当我 select 一个节点时,我的代码将它从树中删除。到目前为止,一切都很好。但是随后 selection 传递到下一个节点,所以我的代码也将其删除。并继续前进,直到所有节点都消失。
我尝试使用 .nodemouseclick 而不是 .afterselect 但这不起作用:如果我 select 一个节点然后另一个节点,它会删除第一个节点。
Private Sub tree_Selected_RemoveNode(sender As Object, e As TreeViewEventArgs) Handles tree_Selected.AfterSelect
Dim ActiveNode As TreeNode
ActiveNode = tree_Selected.SelectedNode
If Not ActiveNode Is Nothing Then
tree_Selected.Nodes.Remove(ActiveNode)
End If
End Sub
有点不清楚您在此处尝试使用用户界面做什么,但是避免所有节点消失的一种方法是删除 AfterSelect 处理程序并在代码完成时将其重新添加:
Try
RemoveHandler tree_Selected.AfterSelect, AddressOf tree_Selected_AfterSelect
Dim ActiveNode As TreeNode
ActiveNode = tree_Selected.SelectedNode
If Not ActiveNode Is Nothing Then
tree_Selected.Nodes.Remove(ActiveNode)
End If
Catch ex As Exception
MessageBox.Show(ex.ToString, "Error")
Finally
AddHandler tree_Selected.AfterSelect, AddressOf tree_Selected_AfterSelect
End Try
我 select 我想从树中删除一个节点。 当我 select 一个节点时,我的代码将它从树中删除。到目前为止,一切都很好。但是随后 selection 传递到下一个节点,所以我的代码也将其删除。并继续前进,直到所有节点都消失。 我尝试使用 .nodemouseclick 而不是 .afterselect 但这不起作用:如果我 select 一个节点然后另一个节点,它会删除第一个节点。
Private Sub tree_Selected_RemoveNode(sender As Object, e As TreeViewEventArgs) Handles tree_Selected.AfterSelect
Dim ActiveNode As TreeNode
ActiveNode = tree_Selected.SelectedNode
If Not ActiveNode Is Nothing Then
tree_Selected.Nodes.Remove(ActiveNode)
End If
End Sub
有点不清楚您在此处尝试使用用户界面做什么,但是避免所有节点消失的一种方法是删除 AfterSelect 处理程序并在代码完成时将其重新添加:
Try
RemoveHandler tree_Selected.AfterSelect, AddressOf tree_Selected_AfterSelect
Dim ActiveNode As TreeNode
ActiveNode = tree_Selected.SelectedNode
If Not ActiveNode Is Nothing Then
tree_Selected.Nodes.Remove(ActiveNode)
End If
Catch ex As Exception
MessageBox.Show(ex.ToString, "Error")
Finally
AddHandler tree_Selected.AfterSelect, AddressOf tree_Selected_AfterSelect
End Try