如何将字符串转换为树视图节点,然后从树视图中删除节点?

时间:2015-01-02 15:39:53

标签: c# .net winforms treeview

我有这段代码:

RemoveDirectory(path, true);
TreeNode nodetoremove = new TreeNode(path);
UpdateTreeview(nodetoremove);

例如在变量路径(字符串)中我有:root \ files 这是我删除的ftp服务器上的路径。 现在我想从treeView1中删除/删除节点名文件 在这种情况下,它只是root下的一个节点:root \ files 在我的treeView1结构中也构建了这样的主根被称为root并且在它下面所有的结构。

所以我在我的treeView根目录和文件下面。

可能会出现路径中的情况,例如:root \ files \ files1 \ files2 然后我想从treeView中删除节点文件2,这样根文件files1将只保留要删除的文件2.

所以我试着这样做:

TreeNode nodetoremove = new TreeNode(path);
UpdateTreeview(nodetoremove);

在UpdateTreeview里面我做了:

private void UpdateTreeview(TreeNode DirToRemove)
        {           
                treeViewMS1.Nodes.Remove(DirToRemove);  
        }

但它不会删除我在treeView中看到它的节点。

一般情况下,我想删除路径中的节点作为treeView1中的节点。

这是我选择节点的方式:

private void treeViewMS1_MouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                treeViewMS1.SelectedNode = treeViewMS1.GetNodeAt(e.X, e.Y);

                if (treeViewMS1.SelectedNode != null)
                {
                    menuStrip.Show(treeViewMS1, e.Location);
                }
            }
        }

因此,如果我在treeView中选择了例如我选择的节点root \ test1 \ test2 \ test3点击了test3它应该从treeView中删除test3

如果我选择了节点test2,它应该删除test2和test3以及文件里面的内容。

如果我只选择了test1,那么将它全部移动到test1 \ test2 \ test3 它会删除它们,就像我在ftp服务器上描述的那样,但问题是将它从树视图中删除它。

规则通常是删除所选节点和所选节点内的每个子节点。

0 个答案:

没有答案