将选定的TreeView节点滚动到视图中

我有一个System.Windows.Forms.TreeView停靠在一个面板内。 我正在设置以编程方式选择的节点。 我将使用什么方法或属性让树视图将所选内容滚动到视图中?

 node.EnsureVisible(); 

例如:

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

(见MSDN )

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

如果您想要一个完全展开的树,并在您选择的节点上滚动,只需在ExpandAll()之后调用EnsureVisible()。

我有一些问题, node.EnsureVisible()不适用于只有一级节点的树。

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

该示例显示了LINQ查询中的myTable

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

我希望这有助于你们中的一些人。