2011-11-26 23 views
7

में रूट नोड कैसे ढूंढ सकता हूं मेरे पास मेरे विंडोज एप्लिकेशन में एक TreeView है। इस TreeView Tn, उपयोगकर्ता इन उप नोड्स के लिए इन जड़ नोड्स के लिए कुछ जड़ नोड्स और भी कुछ उप नोड्स और भी कुछ उप नोड्स जोड़ सकते हैं और इतने पर ...मैं TreeView

उदाहरण के लिए:

Root1 
    A 
     B 
     C 
     D 
      E 
Root2 
    F 
     G 
. 
. 
. 

अब मेरा सवाल यह है कि अगर मैं नोड 'ई' पर हूं तो इसका पहला रूट नोड ('रूट 1') खोजने का सबसे अच्छा तरीका क्या है?

private TreeNode FindRootNode(TreeNode treeNode) 
{ 
    while (treeNode.Parent != null) 
    { 
     treeNode = treeNode.Parent; 
    } 
    return treeNode; 
} 

आप इस तरह अपने कोड में कॉल कर सकते हैं:

उत्तर

13

यहाँ आप के लिए एक छोटे से विधि है

var rootNode = FindRootNode(currentTreeNode); 
+0

धन्यवाद Fischermaen, तो treeview के रूट नोड खोजने के लिए किसी भी संपत्ति नहीं है एक उप नोड, यह करता है? –

+0

@M_Mogharrabi: यह सही है। – Fischermaen

+1

जनसंख्या के दौरान रूट को पकड़ना बेहतर है। –