Я ищу текст во всех древовидных родительских и дочерних узлах рекурсивно, но он не работает должным образом.
См. Мой код ниже, где я ищу текст во всех узлах parent & child, который не работает должным образом. пожалуйста, направьте меня, что мне нужно отремонтировать.
private void txtSerach_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
{
if (txtSerach.Text.Trim() != "")
{
if (treeView1.Nodes.Count > 0)
{
nodefound = false;
TreeNodeCollection nodes = treeView1.Nodes;
foreach (TreeNode n in nodes)
{
if (!nodefound)
PrintRecursive(n);
else
return;
}
}
}
}
}
bool nodefound = false;
private void PrintRecursive(TreeNode treeNode)
{
if (treeNode.Text.ToUpper().Contains(txtSerach.Text.ToUpper().ToString()))
{
treeView1.SelectedNode = treeNode;
treeView1.SelectedNode.Expand();
treeView1.Focus();
nodefound = true;
return;
}
foreach (TreeNode tn in treeNode.Nodes)
{
PrintRecursive(tn);
}
}
снимок экрана
Текст должен быть найден во всех родительских и всех вложенных узлах, и если он найден, то этот узел должен быть выбран.
Спасибо