2010-07-07 47 views

回答

3

據我所知,沒有辦法選擇所有節點。但是,你可以建立自己的這樣的:

Queue<UltraTreeNode> queue = new Queue<UltraTreeNode>(ultraTree1.Nodes); 
while (queue.Count > 0) 
{ 
    UltraTreeNode node = queue.Dequeue(); 
    foreach(UltraTreeNode child in node.Nodes) 
     queue.Enqueue(child); 
    node.Selected = true; 
} 
0

一個用於這個可能的修改是使用產量回歸語句來提供所有的樹節點爲枚舉集合:

private IEnumerable<UltraTreeNode> AllTreeNodes() 
{ 
    Queue<UltraTreeNode> queue = new Queue<UltraTreeNode>(ultraTree1.Nodes.OfType<UltraTreeNode>()); 
    while (queue.Count > 0) 
    { 
     UltraTreeNode node = queue.Dequeue(); 
     foreach (UltraTreeNode child in node.Nodes) 
      queue.Enqueue(child); 

     yield return node; 
    } 
} 

然後你可以貫穿每個物品並做任何你想要的處理(不管是標記它們還是其他選擇):

foreach (var node in AllTreeNodes()) 
{ 
    // Take whatever action is needed 
    // 
    node.Selected = true; 
} 
相關問題