2011-04-16 11 views
17

मैं कैसे पता लगा सकता हूं कि चयनित नोड TreeView नियंत्रण में कोई बच्चा नोड या अभिभावक नोड है या नहीं?मैं कैसे निर्धारित कर सकता हूं कि चयनित नोड TreeView में एक बच्चा या पैरेंट नोड है या नहीं?

उत्तर

30

वास्तव में आप कैसे लागू इस तरह के एक चेक आप "बच्चा" और "जनक" नोड्स कैसे परिभाषित पर निर्भर करता है।

  1. Nodes property रिटर्न उस विशेष नोड द्वारा निहित TreeNode वस्तुओं के संग्रह: लेकिन वहाँ है कि महत्वपूर्ण जानकारी प्रदान करते हैं प्रत्येक TreeNode वस्तु द्वारा उजागर दो गुण हैं। तो, बस देखने के लिए कितने बच्चे चयनित नोड शामिल नोड्स की जाँच करके, आप यह निर्धारित कर सकते हैं या नहीं, यह एक माता पिता के नोड है:

    if (selectedNode.Nodes.Count == 0) 
    { 
        MessageBox.Show("The node does not have any children."); 
    } 
    else 
    { 
        MessageBox.Show("The node has children, so it must be a parent."); 
    } 
    
  2. में अधिक जानकारी प्राप्त करने के लिए, आप भी Parent का मूल्य जांच कर सकते हैं संपत्ति। यदि यह मूल्य null है, तो नोड TreeView के रूट स्तर पर है (यह एक जनक नहीं है):

    if (selectedNode.Parent == null) 
    { 
        MessageBox.Show("The node does not have a parent."); 
    } 
    else 
    { 
        MessageBox.Show("The node has a parent, so it must be a child."); 
    } 
    
+1

आप बहुत बहुत धन्यवाद। – Priyanka

5

आप इसके लिए TreeNode.Parent संपत्ति का उपयोग कर सकते हैं।

यदि इसका मान null है-संदर्भ, नोड रूट स्तर पर है।

TreeView treeView = ... 
var selectedNode = treeView.SelectedNode; 

if(selectedNode ! = null) 
{ 
    if(selectedNode.Parent == null) 
    {  
     // Root-level node 
    } 
    else 
    {  
     // Child node 
    } 
} 
else 
{ 
    // A node hasn't been selected. 
} 
0
treeview.SelectedNode == null 

सबसे अच्छा चुनने के लिए है।

+0

मुझे समझ में नहीं आता कि यह सवाल का जवाब कैसे देता है। – JDB

1

इस

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) 
{ 
    Label1.Text = ""; 
    if(e.Node.Parent!= null && 
    e.Node.Parent.GetType() == typeof(TreeNode)) 
    { 
     Label1.Text = "Parent: " + e.Node.Parent.Text + "\n" 
     + "Index Position: " + e.Node.Parent.Index.ToString(); 
    } 
    else 
    { 
     Label1.Text = "This is parent node."; 
    } 
} 
0

रूट नोड के लिए माता-पिता TreeView है की कोशिश करो .. यह है कि अगर हम के प्रकार की तुलना की जांच करने के लिए संभव है ->

if (currentNode.Parent.GetType() == typeof(TreeView)) 
{ 
    // root node 
} 
संबंधित मुद्दे

 संबंधित मुद्दे