/ / ट्रीनोड कुंजी मुद्दा - c #, winforms

TreeNode कुंजी मुद्दा - सी #, Winforms

मैं WinForm में TreeView नियंत्रण का उपयोग कर रहा हूं।

मैं निम्नलिखित कोड का उपयोग करने की कोशिश कर रहा हूं, लेकिन "NullReferenceException" प्राप्त कर रहा हूं। मैं सिंटैक्स प्रदान कर रहा हूँ अर्थात् tree.Nodes[key].Nodes.Add(key,text)

मुझे पता नहीं है कि कोड के साथ क्या गलत है।

कृपया उपयोग किए गए कोड पर एक नज़र डालें -

tvTree.Nodes.Add("Subjects", "Subjects");
tvTree.Nodes["Subjects"].Nodes.Add("Physics", "Physics");

tvTree.Nodes["Physics"].Nodes.Add("PhysicsP1", "Paper1");
tvTree.Nodes["Physics"].Nodes.Add("PhysicsP2", "Paper2");
tvTree.Nodes["Physics"].Nodes.Add("PhysicsP3", "Paper3");

अपना समय साझा करने के लिए धन्यवाद।

उत्तर:

उत्तर № 1 के लिए 4

इसके अलावा आप इसे प्राप्त कर सकते हैं

        tvTree.Nodes.Add("Subjects", "Subjects");
tvTree.Nodes["Subjects"].Nodes.Add("Physics", "Physics");

var phyNode = tvTree.Nodes.Find("Physics", true).First();

phyNode.Nodes.Add("PhysicsP1", "Paper1");
phyNode.Nodes.Add("PhysicsP2", "Paper2");
phyNode.Nodes.Add("PhysicsP3", "Paper3");

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

आपकी समस्या यह है कि "भौतिकी" नोड प्रत्यक्ष बच्चे नहीं हैं tvTree लेकिन इसके बजाय "विषय" नोड के बच्चे हैं। क्या यह आसान करना चाहिए कि है TreeNodeCollection.Add एक TreeNode देता है जिसे आप बाद में संदर्भित कर सकते हैं।

var subjects = tvTree.Nodes.Add("Subjects", "Subjects");
var physics = subjects.Nodes.Add("Physics", "Physics");

physics.Nodes.Add("PhysicsP1", "Paper1");
physics.Nodes.Add("PhysicsP2", "Paper2");
physics.Nodes.Add("PhysicsP3", "Paper3");

यदि आपके पास केवल नाम है, तो आप उपयोग कर सकते हैं खोज:

var parentName = "from wherever";

var parentNodes = tvTree.Nodes.Find(parentName, true);

/* handle multiple results */
/* add children */

उत्तर № 3 के लिए 1

आप इसका इस्तेमाल कर सकते हैं

tvTree.Nodes["Subjects"].Nodes["Physics"].Add("PhysicsP1", "Paper1");