выберите узел в дереве просмотра программно в приложении Windows - PullRequest
3 голосов
/ 12 октября 2011

у меня есть загрузка в виде дерева. я хочу пройти узел дерева и развернуть и выбрать узел. Expand работает нормально. но выбрать узел не работает.

private void Traverse(TreeNodeCollection nodes, string findtext) 
        {
          foreach (TreeNode node in nodes) 
            {
                if (node.Text.ToString().Trim() == findtext)
                {
                    node.Expand();
                    node.TreeView.SelectedNode = node.NextNode;                    

                    //tvwStructureTree.SelectedNode = this.tvwStructureTree.Nodes[node.Index];
//Select a node in Treeview tvwStructureTree But not working
                    tvwStructureTree.SelectedNode = node; 
                    node.TreeView.Focus(); 
                }
                Traverse(node.Nodes, findtext); 
            } 

        }

Это в приложении Windows.

Ответы [ 2 ]

5 голосов
/ 13 октября 2011

Не совсем уверен, в чем твоя проблема. TreeView.SelectedNode Свойство является правильным свойством.

Когда вы устанавливаете это свойство, указанный узел прокручивается в представление и любые родительские узлы расширяются, так что указанный узел виден.

Когда родительский узел или любой узел-предок выбранного узла рухнул или программно или в результате действий пользователя, свернутый узел становится выбранным узлом.

Убедитесь, что node.TreeView является правильным экземпляром TreeView.

node.TreeView.SelectedNode = node.NextNode;  

Свойство TreeView.HideSelection - еще одно свойство, которое может быть полезно для вас.

Когда для этого свойства установлено значение false, выбранные узлы в TreeView элемент управления остается выделенным другим цветом, чем текущий цвет выделения, когда элемент управления TreeView теряет фокус. Ты можешь использовать это свойство для сохранения элементов, выбранных пользователем, видимыми при пользователь нажимает другой элемент управления в форме или переходит к другое окно.

0 голосов
/ 27 января 2013

Я протестировал именно ваш собственный код и работал нормально, как найти, так и выбрать узел! без какой-либо конкретной настройки свойства для моего дерева! кстати я использую .Net 3.5 и VS 2008

...