#c# #winforms #treeview #treenode
#c# #winforms #просмотр дерева #древовидный узел
Вопрос:
Мой вопрос заключается в следующем. Мне нужно получить значение Index
a TreeNode
, но я знаю только название этого Node
. Есть ли у вас какие-либо идеи, как я могу получить это свойство?
Я бы хотел что-то такое же:
int treeIndex = treeView1.Nodes["myNode"].Index;
Если это возможно, пожалуйста, покажите мне пример кода.
Ответ №1:
Вы можете сделать так,
var result = treeView1.Nodes.OfType<TreeNode>()
.FirstOrDefault(node => node.Name.Equals("name"));
затем получите доступ к индексу внутри результата.
Комментарии:
1. Резервуары для всех. Это решение было лучшим для меня сейчас.
Ответ №2:
Вы можете определить свой собственный класс дерева.
Пример использования индексаторов:
public class MyTreeView : TreeView
{
public int this[string nodeName] {
var found = this.Nodes.FirstOrDefault(n=>n.Text == nodeName);
return (found == null)?-1:found.Index;
}
}
и после использования этого, как:
var tree = new MyTreeView();
...
...
var coolNodeIndex = tree["MyCoolNode"].Index;