防止 Treeview 在点击事件时折叠节点
Prevent Treeview from collapsing nodes on click event
我在表单上使用 MS Treeview 控件 v6,Treeview 控件的默认行为似乎是 child 属于与您单击的分支不同的分支的节点会自动折叠.因此,如果有一个如下所示的 Treeview:
- 根
- Child 1
- Child 2
- Child 3
- Parent
- Child 4
- Child 5
- Child 6
如果我单击 Child 5,Child 1 到 3 的节点会自动折叠(这是不需要的),如图所示:
- 根目录
- Parent
- Child 4
- Child 5
- Child 6
这是树视图的代码:
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.
我在表单上使用 MS Treeview 控件 v6,Treeview 控件的默认行为似乎是 child 属于与您单击的分支不同的分支的节点会自动折叠.因此,如果有一个如下所示的 Treeview:
- 根
- Child 1
- Child 2
- Child 3
- Parent
- Child 4
- Child 5
- Child 6
如果我单击 Child 5,Child 1 到 3 的节点会自动折叠(这是不需要的),如图所示:
- 根目录
- Parent
- Child 4
- Child 5
- Child 6
这是树视图的代码:
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.