Revit.SDK.Samples.NewHostedSweep.CS.EdgeFetchForm.GetEdgeTreeNode C# (CSharp) Method

GetEdgeTreeNode() private method

Get the related tree node of an edit
private GetEdgeTreeNode ( System.Edge edge ) : TreeNode
edge System.Edge Given edge to find its tree-node
return System.Windows.Forms.TreeNode
        private TreeNode GetEdgeTreeNode(Edge edge)
        {
            TreeNode result = null;
            TreeNode root = treeViewHost.Nodes[0];
            Stack<TreeNode> todo = new Stack<TreeNode>();
            todo.Push(root);
            while (todo.Count > 0)
            {
                TreeNode node = todo.Pop();
                if (node.Tag != null && node.Tag is Edge && (node.Tag as Edge) == edge)
                {
                    result = node;
                    break;
                }

                foreach (TreeNode tmpNode in node.Nodes)
                {
                    todo.Push(tmpNode);
                }
            }
            return result;
        }