我想从树视图中删除treenode,但也要从指定的文件夹中删除。 这是我尝试做的,但似乎有些不对劲...... 我在网上搜索了很多,到处都是关于删除指定路径中的所有内容(清除)。 非常感谢!
void RemoveCheckedNodes(TreeNodeCollection nodes)
{
string currentLocation = Directory.GetCurrentDirectory() + "\\Notes";
List<TreeNode> checkedNodes = new List<TreeNode>();
foreach (TreeNode node in nodes)
{
if (node.Checked)
{
checkedNodes.Add(node);
}
else
{
RemoveCheckedNodes(node.Nodes);
}
}
foreach (TreeNode checkedNode in checkedNodes)
{
nodes.Remove(checkedNode);
string[] path = new string[checkedNodes.Count];
for (int i = 0; i < checkedNodes.Count; i++)
{
path[i]=(currentLocation + "\\" + nodes + ".txt");
File.Delete(path[i]);
}
}
}
答案 0 :(得分:1)
对不起,我感到很遗憾,但直到现在我还没有上网... 我找到了解决问题的方法:
private string currentLocation = Directory.GetCurrentDirectory() + "\\notes";//curent location of the files
public void RemoveSelectedNodes(TreeNodeCollection nodes)// delete selected nodes from memory
{
List<TreeNode> checkedNodes = new List<TreeNode>();
foreach (TreeNode node in nodes)
{
if (node.Checked)
{
checkedNodes.Add(node);
}
else
{
RemoveSelectedNodes(node.Nodes);
}
}
foreach (TreeNode checkedNode in checkedNodes)
{
nodes.Remove(checkedNode);
string[] path = new string[checkedNodes.Count];
for (int i=0; i < checkedNodes.Count;i++)
{
try
{
path[i] = (currentLocation+ "\\" + checkedNode.Text);
File.Delete(path[i]);
i++;
}
catch (Exception)
{
MessageBox.Show("You must select minimum 1 element !");
}
}
}
代码表示填充了.rtf文件的树视图,可以通过从树视图中选择来删除。