/ / जब C # में एक TreeView में एक बच्चा नोड जोड़ते हैं तो यह नेत्रहीन गलत दिखता है - c #, winforms

सी # में एक वृक्ष दृश्य में एक बच्चे नोड जोड़ते समय यह दृष्टि से गलत दिखता है - सी #, विनफॉर्म

मैं एक WinForms ऐप (C # का उपयोग करके) में एक TreeView में एक बच्चे के नोड को जोड़ने की कोशिश कर रहा हूं। समस्या यह है कि जब मैं निम्नलिखित कोड का उपयोग करता हूं तो जीत गलत तरीके से दिखाई देती है। यहाँ मेरा उदाहरण है:

if (treeView1.Nodes.Count == 0)
{
TreeNode newGuy = new TreeNode("New_SubItem");
treeView1.Nodes[0].Nodes.Add(newGuy);
newGuy.BeginEdit();
return;
}

TreeNode n = treeView1.SelectedNode;
TreeNode n3 = new TreeNode("New_SubItem");

n.Nodes.Add(n3);
n3.BeginEdit();
return;

यहाँ क्या होता है: TreeView में एक नोड डालने मैं क्या गलत कर रहा हूं?

उत्तर:

जवाब के लिए 0 № 1
if (treeView1.Nodes.Count == 0)
{
TreeNode newGuy = new TreeNode("New_SubItem");
treeView1.Nodes[0].Nodes.Add(newGuy);
newGuy.BeginEdit();
return;
}

वह कोड सेंसलेस है: पहले आप देखें कि ट्री व्यू 1 में कोई नोड्स नहीं है (treeView1.Nodes.Count == 0), तो आप पहले नोड तक पहुंचने की कोशिश करते हैं, यह सही है (ट्री व्यू 1।नोड्स [0])


जवाब के लिए 0 № 2

मुझे लगता है कि मुझे जवाब मिल गया है। आप ऐड विधि के बजाय इन्सर्ट विधि का उपयोग करें:

//n.Nodes.Add(n3);
n.Nodes.Insert(treeView1.SelectedNode.Index, "New_SubItem");

जवाब के लिए 0 № 3

संपादित। एक अलग समाधान में प्रति टिप्पणी, उसके ट्रीव्यू का मूल नोड है ...

उस स्थिति में, यह परिवर्तन काम करना चाहिए।

if (treeView1.Nodes.Count == 0)

में बदलो

if (treeView1.Nodes.Count == 1)