private void Form1_Load(object sender, EventArgs e)
        {
            TreeNode Node = new TreeNode("根节点");
            TreeNode Node_1 = new TreeNode("子节点1");
            TreeNode Node_2 = new TreeNode("子节点2");
            Node.Nodes.Add(Node_1);
            Node.Nodes.Add(Node_1);
            treeView1.Nodes.Add(Node);
            MessageBox.Show(Node.Nodes["子节点1"].Text);//未将对象引用设置到对象的实例。
        }
那个地方怎么可能会出错啊,我[]写0就能弹出字节点1 为什么啊

解决方案 »

  1.   

    MessageBox.Show(Node.Nodes["Node_1"].Text);也是不行
      

  2.   

    Node.Nodes["子节点1"].Text中的Node一个是TreeView的根结点,他的子结点中没有“子节点1”。你必须找到"TreeNode Node = new TreeNode("根节点");"这个结点,他的下面应该是有“子节点1”的。
      

  3.   

    MessageBox.Show(Node.Nodes["根节点"].Text);一样报错
      

  4.   

       private void Form1_Load(object sender, EventArgs e)
            {
                TreeNode Node = new TreeNode("根节点");            TreeNode Node_1 = new TreeNode("子节点1");
                TreeNode Node_2 = new TreeNode("子节点2");
                
                treeView1.Nodes.Add(Node.Name  ,"aaa");
                Node.Nodes.Add(Node_1);
                Node.Nodes.Add(Node_2);
                MessageBox.Show(Node.Text );//未将对象引用设置到对象的实例。
            }
      

  5.   

    弹出提示了,提示“根节点” 
    我不知道是不是微软这方面有Bug了
      

  6.   

    TreeNode的Key等于它的Name,但不等于它的Text,你设定了Text,但未设定Name,所以找不到是理所当然的。
      

  7.   

    需要通过字符串索引的节点,都指定一下它的Name好了。
      

  8.   


                TreeNode Node = new TreeNode("根节点");
                TreeNode Node_1 = new TreeNode("子节点1");
                TreeNode Node_2 = new TreeNode("子节点2");
                Node.Nodes.Add(Node_1);
                Node.Nodes.Add(Node_1);
                treeView1.Nodes.Add(Node);
                Node.Name = "根节点";
                Node_1.Name = "子节点1";
                MessageBox.Show(Node.Nodes["子节点1"].Text);
    我给你改成这个样子,你看还会不会出错?