2009-01-19 70 views

回答

33
node.EnsureVisible(); 

例如:

if(treeView.SelectedNode != null) treeView.SelectedNode.EnsureVisible(); 

(见MSDN

+0

如果您还想将此节点滚动到“TreeView”的**顶部**,您可以在空值检查之后使用`treeView.TopNode = treeView.SelectedNode`而不是`treeView.SelectedNode.EnsureVisible( )`。 – 2016-12-05 14:25:15

0

我有一些问题,node.EnsureVisible()不是只有一个级别的节点工作的树木。

要解决此问题,请使用BindingIndex来标识选定的节点。然后选择的节点将在视图中滚动。

该示例显示来自LINQ查询的myTable

node.BindingIndex = Convert.ToInt32(mytable.Id); 

我希望这可以帮助你们中的一些人。

1

我也有这个问题,并找出treeview.ExpandAll()忽略EnsureVisible()效果,并避免滚动到节点的位置。

如果您想要在选定的节点上滚动完整展开的树,请在ExpandAll()后调用EnsureVisible()。