string strtemp=treeView1.SelectedNode.Parent.Text;
出现 未将对象引用设置到对象的实例。
这是怎么回事?

解决方案 »

  1.   

    string strtemp="";
     strtemp=treeView1.SelectedNode.Parent.Text.Tostring();
      

  2.   

    SelectedNode 有父节点 么
      

  3.   

    string strtemp=treeView1.SelectedNode.Parent.Text;
    这一行代码太不安全了,SelectedNode极有可能为空,则会报错
    Parent也有可能为空,也会报错
    判断下再用即可
    string strtemp = string.Empty
    if( treeView1.SelectedNode != null && treeView1.SelectedNode.Parent !=null ){
         strtemp=treeView1.SelectedNode.Parent.Text;
    }
      

  4.   

        if (treeView1.SelectedNode != null && treeView1.SelectedNode.Parent != null)
                {
                    string strtemp=treeView1.SelectedNode.Parent.Text.Tostring();
                }使用前也判断下是否为空啊
      

  5.   

    你少了一个判断
    string strtemp=treeView1.SelectedNode.Parent.Text; 你看啊,你的目的是获取当前选中节点的父节点的Text,这时候你选中子节点没有问题,可是你要是选中根节点就出问题了,根节点没有parent,在treeView1.SelectedNode.Parent这一步就是null了,所以就报错了
    对选中节点要判断,先判断它的父节点是否为null
    if(treeView1.SelectedNode.Parent!=null)
    {
        string strtemp=treeView1.SelectedNode.Parent.Text; 
    }
      

  6.   

    最近我也在研究TreeView,这个是需要加判断的,就和上面几位说的选中根节点的情况一样
      

  7.   

    SelectedNode可能为空,Parent应该不会是空的,因为treeview会在root节点上追加一个父亲节点的,并且这个真正的根是被treeview保存着的。
      

  8.   


    treeView1.SelectedNode.Parent 为空