1
我想在选择它时从树中删除一个节点。 当我选择一个节点时,我的代码将它从树中移除。到现在为止还挺好。但是,然后选择传递到下一个节点,所以我的代码也将其删除。并继续前进,直到所有节点都消失。 我曾尝试使用.nodemouseclick而不是.afterselect,但那不工作正确:如果我选择一个节点,然后另一个节点,它将删除第一个节点。删除选定节点会删除所有treenodes?
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事件,所以当你删除一个节点后,TreeView会找到另一个节点来创建活动节点,这会让你的代码再次运行。目前还不清楚你想要只删除一个节点的逻辑。当用户选择节点时,节点通常不应该消失。也许一个带有删除菜单项的右键菜单将是一个更好的选择。 – LarsTech 2015-02-09 15:10:46
我有两个树视图,其中一个用户可以选择多个节点(我在这里作弊并将每个节点设置为显示为使用颜色选择),但他们也可以通过再次单击来取消选择节点。第二个treeview只有一个在第一个视图中显示的项目列表。所以我希望用户能够点击第二个视图中的一个项目并使其从该视图中消失。 – DovesandChicks 2015-02-10 16:31:00