2013-03-25 2 views
1

Когда я говорю:Как установить узел, выбранные в WinForms TreeView без поиска

treeview.SelectedNode = new TreeNode{ Text = "Myname" }; 

Это не будет работать, хотя есть узел в TreeView узлов коллекции с этим текстом.

Как я могу установить узел как выбранный программно, не ища экземпляр узла до и затем его выбрать?

ответ

1

При добавлении узла вы можете установить ключ для него, а также, например:

treeview.Nodes.Add("a node", "a node"); 
treeview.Nodes.Add("b node", "b node"); 

Таким образом, если вы хотите, чтобы выбрать узел вы можете сделать это, используя свой ключ, например, :

treeview.SelectedNode = treeView.Nodes.Find("b node", true); 

Таким образом, вы можете избежать необходимости перебора всех узлов вручную, проверяя, соответствует ли их текст.

+0

Это не сработало в моем случае извините. Узел, возвращаемый .Nodes [MyName/Key], всегда равен нулю, хотя узел находится внутри коллекции узлов с ключом/именем. – Elisabeth

+0

Вышеприведенный пример, но с treeview.SelectedNode = treeView.Nodes.Find («ключ узла», true); работает для вас? – coolmine

+0

Да, метод поиска работает, но ваш код этого не сделал. – Elisabeth

Смежные вопросы