I am trying to loop through a treeview control and return the order of treeview control as it appears on the screen. For example if the first node has three children, I would like the routine to return the text of the child nodes second third and forth. I need to do this because we are using the control to allow a user to set the layout of a report in a more visual manner. I have tried to use the index property, however the child nodes return after all of the root nodes. This routine would have to be able to go at least six levels down for each root node and some root nodes would have no children. Please contact with any further questions about this problem.