请各位大侠指点下   如何在vs20005(C#)中删除动态生成数的所选节点.. 以及他的子节点一起删除..麻烦代码给详细点 我是大白菜菜!!谢谢

解决方案 »

  1.   

    使用TreeNode.Remove 方法 就可以了:TreeNode.Remove 方法 
    从树视图控件中移除当前树节点。 命名空间:System.Windows.Forms
    程序集:System.Windows.Forms(在 system.windows.forms.dll 中)当调用 Remove 方法时,将从 TreeView 中移除分配给 TreeNode 的树节点和所有子树节点。所移除的子节点将从 TreeView 中移除,但仍附加在此树节点上。下面的代码示例在用户右击 TreeNode 时移除它,而当用户在其上单击鼠标轮时将它从展开切换到折叠。本示例要求有一个含有 TreeView 控件的 Form。TreeView 应该有两个或更多根树节点,而且每个根树节点至少有一个子节点。
    private void treeView1_MouseDown(object sender, MouseEventArgs e)
    {
       switch(e.Button)
       {
          // Remove the TreeNode under the mouse cursor 
          // if the right mouse button was clicked. 
          case MouseButtons.Right:
             treeView1.GetNodeAt(e.X, e.Y).Remove();
             break;
          
          // Remove the TreeNode under the mouse cursor 
          // if the middle mouse button (mouse wheel) was clicked. 
          case MouseButtons.Middle:
             treeView1.GetNodeAt(e.X, e.Y).Toggle();
             break;
       }
    }
      

  2.   


     TreeNode root = treeview.Nodes[0];
                if (root.Checked)
                    //作删除节点的操作
                foreach (TreeNode node in root.Nodes)
                {
                    if (node.Checked)
                        //作删除节点的操作
                    foreach(TreeNode childNode in node.Nodes)
                    {
                        if (childNode.Checked)
                          //作删除节点的操作  
                    }
                    
                }
      

  3.   

    2楼的大侠. 那个Remove方法应该咋写?
    this.TreeView1.SelectedNode.ChildNodes.Remove(); 但是提示:Remove方法没有采用"0"个参数重载
      

  4.   


    this.treeView1.SelectedNode.Remove();
      

  5.   

    加上命名空间了. 但是不能获取Remove方法. 是不是那个程序集的问题?? 那程序集应该加在哪?? 这个ddl文件是不是要下载还是vs自带的? 还有 怎么给分!!! 
      

  6.   

    Remove方法是一个节点的方法 ,不是节点集的方法,你这样:this.TreeView1.SelectedNode.Remove();
      

  7.   

    我这SelectedNode后.不出来Remove 
      

  8.   

    我不知道你们给的方法是不是winform我用的是 Webform,,
      

  9.   

    TreeNode tn=treeView1.SelectedNode.Parent;
    tn.ChildNodes.Remove(treeView1.SelectedNode);
      

  10.   


    TreeNode tn=treeView1.SelectedNode.Parent; 
    if(tn==null)
       treeView1.Nodes.Remove(treeView1.SelectedNode);
    else
       tn.ChildNodes.Remove(treeView1.SelectedNode);
      

  11.   

    应该怎样更新. 我有个自增的字段. delete的时候肯定是查找这个字段再更新.
    问题的当他有子节点.. 下边还有很多子节点的时候 就变的很复杂..
    我解决不可 能给出详细代码吗? 谢谢