Подтвердить что ты не робот

Прокрутите выбранный TreeView node в поле зрения

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

4b9b3361

Ответ 1

node.EnsureVisible();

например:

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

(см. MSDN)

Ответ 2

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

Просто вызовите EnsureVisible() после ExpandAll(), если вы хотите, чтобы полное расширенное дерево было прокручивается в node, который вы выбрали.

Ответ 3

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

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

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

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

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