请问如何实现右键点击后选“新建”在treeView框里面能出现一个相应的新的节点。
我应该用treeView的什么属性来实现“新建节点”?
谢谢~!

解决方案 »

  1.   


    //添加
    TreeNode tnNew = null;
    tnNew = parent.Nodes.Add("name");
    tnNew.Tag = System.Convert.ToString("Tag");
    TreeView.SelectedNode = tnNew;
    tnNew = null;//右键菜单可以用ContextMenu实现
      

  2.   

    參見msdn中關於treeview類的相關知識你把問題寫清楚些,是要建子結點,還是父結點。
      

  3.   

    提示说“不能访问parent,因为它受保护级别限制”,我想实现的树比较简单,就一个根节点“所有类型”和几个子节点(子节点的父节点都是“所有类型”)能说得更简单点吗?
    我想实现的具体功能是:点下“新建”就在子节点的最下方增加一个可以直接修改名字的子节点!
    初学,请多包涵!
      

  4.   

    为什么我创建出来的节点是根节点,而不是“所有类型”的子节点?
                               TreeNode tnNew = null;
    tnNew =ShangPinLeiBie_TView.Nodes.Add("name");
    tnNew.Tag = System.Convert.ToString("Tag");
    ShangPinLeiBie_TView.SelectedNode = tnNew;
    tnNew = null;
      

  5.   

    tnNew =ShangPinLeiBie_TView.Nodes.Add("name");
    把这里的ShangPinLeiBie_TView变成你要的父节点。
      

  6.   

    在你点右键菜单的时候,获取当前点击的node,然后做下面动作就可以啦:
    TreeNode tn = new TreeNode();
    tn.Tag = ...;
    tn.Name = "新节点";
    node.Nodes.Add(tn);
      

  7.   

    TreeNode tnNew = null;
    //这里把parentNode设置成你的所有类型那个node
    TreeNode parentNode = ShangPinLeiBie_TView.Nodes[0]; 
    tnNew =parentNode.Nodes.Add("新节点");
    ShangPinLeiBie_TView.SelectedNode = tnNew;
    tnNew = null;
      

  8.   

    我刚才试过了,但是我用的是全局变量,在创建根节点的时候把它相应的Node值放到了全集变量中,也实现了我要的功能,想请问一下,有什么方法可以直接获取“所有类型”的Node吗?
    图如:+——所有类型
     |——子节点1
     |——子节点2
     |——新节点1
     |——新节点2
      

  9.   

    ShangPinLeiBie_TView.Nodes[0]; 应该就是第一个根节点。
    也可以根据右键点击的node来判断。如果点击的node.parent==null表示是所有类型。否则就是子节点。
    如果 node.parent == null, 那么这个node就是跟节点。
    如果 node.parent != null, 那么node.parent就是跟节点(如果你这只有不止2层的话,那就继续判断node.parent.parent直到其parent 为null)。
      

  10.   

    重命名只有遍历所有。删除
    parent.Nodes.RemoveAt(i);
    或 nodeDelete.Remove();