С прошлого урока нам осталось написать метод FindNode, который ищет узел с определенным названием, принадлежащий некоторому подузлу.
Вот текст этого метода:
// Поиск подузла в узле по названию.private TreeNode FindNode(TreeNode treenode, string name)
{
// Ищем в узлах первого уровня.foreach(TreeNode tn in treenode.Nodes)
{
// Если нашли,if(tn.Text==name)
{
// то возвращаем.return tn;
}
}
// Ищем в подузлах.
TreeNode node;
foreach(TreeNode tn in treenode.Nodes)
{
// Делаем поиск в узлах.
node = FindNode(tn, name);
// Если нашли,if(node!=null)
{
// то возвращаем.return node;
}
}
// Ничего не нашли.returnnull;
}
Этот метод - рекурсивный. Т. е. он вызывает сам себя - и это логично - сначала нужный подузел ищется среди подузлов только первого уровня. Если не нашли, то рекурсивно вызываем этот же метод для поиска в каждом подузле нашего узла. Если и там ничего не нашли, то возврящем null.
Запускаем программу. Если узел с искомым именем существует (а имя надо вводить, естественно, во второе текстовое поле), то он выделится в дереве.
PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru