防止 Treeview 在点击事件时折叠节点

Prevent Treeview from collapsing nodes on click event

我在表单上使用 MS Treeview 控件 v6,Treeview 控件的默认行为似乎是 child 属于与您单击的分支不同的分支的节点会自动折叠.因此,如果有一个如下所示的 Treeview:

如果我单击 Child 5,Child 1 到 3 的节点会自动折叠(这是不需要的),如图所示:

这是树视图的代码:

Private Sub Form_Load()
   Dim nodX As Node
   Set nodX = TreeView1.Nodes.Add(, , "R", "Root")
   nodX.Expanded = True
   Set nodX = TreeView1.Nodes.Add(, , "P", "Parent")
   nodX.Expanded = True
   Set nodX = TreeView1.Nodes.Add("R", tvwChild, , "Child 1")
   Set nodX = TreeView1.Nodes.Add("R", tvwChild, , "Child 2")
   Set nodX = TreeView1.Nodes.Add("R", tvwChild, , "Child 3")
   Set nodX = TreeView1.Nodes.Add("P", tvwChild, , "Child 4")
   Set nodX = TreeView1.Nodes.Add("P", tvwChild, , "Child 5")
   Set nodX = TreeView1.Nodes.Add("P", tvwChild, , "Child 6")
End Sub

我可以确定的解决此问题的一种方法是在发生节点单击事件时展开 Treeview 中的每个节点:

For Each nodX In Me.Treeview1.Nodes
   nodX.Expanded = True
Next nodX

但是问题是我正在处理的 Access 文件中有数百个节点,并且该代码撤消了我可能已经完成的任何手动折叠/导航 Treeview 节点。

我查看了文档,但似乎没有任何设置可以防止节点自动折叠的这种默认行为发生。我希望也许有人知道可以调整以解决此问题的 属性。

*编辑:更具体地说,当我查看具有更多节点的 Treeview 时,行为是当我单击不同分支中的节点时,它是先前选择的分支折叠(不一定所有其他分支机构)。

以下是 Treeview 属性供参考:

找到了。这是 SingleSel 属性.

如果你取消选中它,奇怪的行为应该会消失(如果我选中它 属性 就会出现)。

文档(我有一个旧的 CMCTL198.CHM 用于公共控件)在这方面不是很有帮助 --

False (Default)   The item doesn't expand when selected. 
True              The item expands when selected.