public TreeNode FindNodeByTagValue( object value, TreeNode parent = null )
{
TreeNode selected = null;
TreeNodeCollection nodes = Nodes;
if (parent != null)
{
nodes = parent.Nodes;
}
foreach (TreeNode treeNode in nodes)
{
if (value.Equals( treeNode.Tag ))
{
selected = treeNode;
break;
}
selected = FindNodeByTagValue( value, treeNode );
if( selected != null )
break;
}
return selected;
}