I&#039;m working on my own TreeView control. The treeview has a collection of Nodes, which inherits the DictionaryBase class. <BR><BR>However, for some reason, when I iterate through the objects, they are returned in reverse order from which they were entered. <BR><BR>I&#039;ll try and explain how I set up my collections and how nodes are added and returned. <BR><BR>The treeview class itself has 2 collections of nodes. One is a "master" collection, which contains ALL of the nodes no matter where they are. This is done for easy access, and to make sure that no duplicate nodes are added. <BR><BR>The second collection is a collection of "root" nodes. Each node has its own collection of child nodes. <BR><BR>When a node is added, it is first added into the master collection. Then, if it a "root" node, it is added into the treeview&#039;s child node collection. If not, it is added to the proper node&#039;s child collection. The parent node&#039;s reference is obtained using the treeview&#039;s "master" collection. <BR><BR>When the control is written, I use a recursive method that iterates first through the treeview&#039;s child node collection, which in turn iterates through each node&#039;s child collection. <BR><BR>I don&#039;t think any of this could really have a bearing on the order the objects come out... but something seems to be effecting it. Any ideas?