How can I get a list of all tree nodes (in all levels) in a TreeView control?
This code help you to iterate though all TreeView list with identifying current depth level. Code can be used to save TreeView items to XML file and other purposes.
int _level = 0;
TreeNode _currentNode = treeView1.Nodes[0];
do
{
MessageBox.Show(_currentNode.Text + " " + _level);
if (_currentNode.Nodes.Count > 0)
{
_currentNode = _currentNode.Nodes[0];
_level++;
}
else
{
if (_currentNode.NextNode != null)
_currentNode = _currentNode.NextNode;
else
{
_currentNode = _currentNode.Parent.NextNode;
_level--;
}
}
}
while (_level > 0);