Есть ли более простой метод, чем приведенный ниже код, для получения корневых узлов или узлов первого уровня в древовидном представлении?
TreeNode node = treeView.SelectedNode;
while(node != null)
{
node = node.Parent;
}
Есть ли более простой метод, чем приведенный ниже код, для получения корневых узлов или узлов первого уровня в древовидном представлении?
TreeNode node = treeView.SelectedNode;
while(node != null)
{
node = node.Parent;
}
На самом деле правильный код:
TreeNode node = treeView.SelectedNode;
while (node.Parent != null)
{
node = node.Parent;
}
иначе вы всегда будете получать node = null
в конце цикла.
Кстати, если вы уверены, что у вас есть один и только один корень в вашем TreeView
, вы можете рассмотреть возможность использования напрямую treeView.Nodes[0]
, потому что в этом случае он даст корень.
Попробуй это. Это сработало для меня ...!
treeView1.TopNode.Expand();
TreeNode rootNode = treeView1.TopNode;
это должно быть все, что вам нужно. SelectedNode не обязательно должен быть всегда != null
null
в переменнойnode
). Испытываете ли вы проблемы с производительностью при этом? - person Uwe Keim   schedule 23.12.2010