Базовый рекурсивный искатель узлов дерева, макушки моей головы.Если вам нужен только поиск по ключу, ответ по weismat является самым простым, однако, если вам нужно искать по данным на узлах, вы должны рассмотреть это решение, так как вы можете заменить поиск по имени на то, что вы хотели бы найти.
private TreeNode FindNode(TreeNode root, String name)
{
foreach (TreeNode node in root.Nodes)
{
if (node.Nodes.Count > 0)
return FindNode(root, name);
if (node.Name == name)
return node;
}
return null;
}