I have a TreeView Control with set of nodes and child nodes. For example:
ROOT has A,B,C.
A has a1, a2, a3 and then
You can use Queue like what i had done in my application :
List nodes = new List();
Queue queue = new Queue();
//
// first insert all the root nodes into the queue.
//
foreach(TreeNode root in tree.Nodes) {
queue.Enqueue(root);
}
while(queue.Count > 0) {
TreeNode node = queue.Dequeue();
if(node != null) {
//
// Add the node to the list of nodes.
//
nodes.Add(node);
if(node.Nodes != null && node.Nodes.Count > 0) {
//
// Enqueue the child nodes.
//
foreach(TreeNode child in node.Nodes) {
queue.Enqueue(child);
}
}
}
}