我想在选择它时从树中删除一个节点。 当我选择一个节点时,我的代码会从树中删除它。到现在为止还挺好。但是然后选择传递到下一个节点,所以我的代码也删除了它。并继续前进,直到所有节点都消失。 我已经尝试使用.nodemouseclick而不是.afterselect但是这不能正常工作:如果我选择一个节点然后另一个节点,它将删除第一个节点。
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
答案 0 :(得分:1)
有点不清楚你在这里尝试使用用户界面做什么,但是避免让所有节点消失的一种方法是删除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