मेरे पास एक वृक्षदृश्य नियंत्रण है, और इसमें एक माता-पिता नोड और उस माता-पिता से कई बच्चे नोड्स शामिल हैं। क्या मुख्य माता-पिता से सभी बच्चे नोड्स की सरणी या सूची प्राप्त करने का कोई तरीका है? यानी सभी नोड्स को treeview.nodes[0], या पहले पैरेंट नोड से प्राप्त करना।

9
user975696 2 अक्टूबर 2011, 22:40

3 जवाब

सबसे बढ़िया उत्तर

आप इस तरह से पुनरावर्ती सूची में जोड़ सकते हैं:

public void AddChildren(List<TreeNode> Nodes, TreeNode Node)
{
    foreach (TreeNode thisNode in Node.Nodes)
    {
        Nodes.Add(thisNode);
        AddChildren(Nodes, thisNode);
    }
}

फिर रूट नोड में गुजरने वाले इस रूटीन को कॉल करें:

List<TreeNode> Nodes = new List<TreeNode>();
AddChildren(Nodes, treeView1.Nodes[0]);
9
David Heffernan 2 अक्टूबर 2011, 22:56
इस कोड के लिए धन्यवाद! मुझे इसे काम करने के लिए फ़ोरैच को बदलना पड़ा, हालांकि, इस तरह: foreach (Node.ChildNodes में TreeNode thisNode) <- Node.Nodes के बजाय Node.ChildNodes
 – 
Svein Erik
17 अप्रैल 2012, 22:06
ऐसा इसलिए है क्योंकि आप wpf का उपयोग कर रहे हैं लेकिन यह कोड WinForms के लिए है। WinForms में कोई चाइल्डनोड्स नहीं है।
 – 
David Heffernan
17 अप्रैल 2012, 22:14
public IEnumerable<TreeNode> GetChildren(TreeNode Parent)
{
    return Parent.Nodes.Cast<TreeNode>().Concat(
           Parent.Nodes.Cast<TreeNode>().SelectMany(GetChildren));
}
9
Ronnie Overby 10 अप्रैल 2013, 01:35

ट्री व्यू में सभी नोड्स प्राप्त करने के लिए आप ऐसा कुछ कर सकते हैं ..

 private void PrintRecursive(TreeNode treeNode)
 {
     // Print the node.
      System.Diagnostics.Debug.WriteLine(treeNode.Text);
      MessageBox.Show(treeNode.Text);
      // Print each node recursively.
       foreach (TreeNode tn in treeNode.Nodes)
       {
           PrintRecursive(tn);
        }
 }

   // Call the procedure using the TreeView.
 private void CallRecursive(TreeView treeView)
 {
      // Print each node recursively.
        TreeNodeCollection nodes = treeView.Nodes;
         foreach (TreeNode n in nodes)
         {
             PrintRecursive(n);
          }
   }

क्या आप कृपया इस लिंक पर एक नज़र डालें।

http://msdn.microsoft.com/en-us/library/wwc698z7.aspx

-2
Enigma State 2 अक्टूबर 2011, 22:51