Прокрутить выбранный узел TreeView в представление - PullRequest
22 голосов
/ 19 января 2009

У меня есть System.Windows.Forms.TreeView закрепленный внутри панели. Я устанавливаю узел, выбранный программно. Какой метод или свойство я бы использовал, чтобы древовидная структура прокручивала выделенное в представление?

Ответы [ 3 ]

34 голосов
/ 19 января 2009
node.EnsureVisible();

например:

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

(см. MSDN )

1 голос
/ 23 марта 2016

У меня также были проблемы с этим, и я выяснил, что treeview.ExpandAll () игнорирует эффект EnsureVisible () и избегает прокрутки до положения узла.

Просто вызовите EnsureVisible () после ExpandAll (), если вы хотите полностью развернутое дерево с прокруткой на выбранном вами узле.

0 голосов
/ 26 ноября 2011

У меня были некоторые проблемы с node.EnsureVisible(), не работающим для деревьев только с одним уровнем узлов.

Чтобы исправить это, используйте BindingIndex для идентификации выбранного узла. Затем выбранный узел будет прокручиваться в поле зрения.

В примере показано myTable из запроса LINQ.

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

Надеюсь, это поможет некоторым из вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...