如何删除TreeView勾选节点对应的文件?
How to delete files coresponding to TreeView checked nodes?
我想从树视图中删除树节点,也想从指定的文件夹中删除树节点。
这是我尝试做的,但似乎出了点问题......
我在网上搜索了很多,到处都是关于从指定路径(清除)中删除所有内容。
非常感谢!
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]);
}
}
}
很抱歉我的延迟,但我直到现在才可以访问互联网...
我找到了解决问题的方法:
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 文件的树视图,可以通过从树视图中选择来删除这些文件。
我想从树视图中删除树节点,也想从指定的文件夹中删除树节点。 这是我尝试做的,但似乎出了点问题...... 我在网上搜索了很多,到处都是关于从指定路径(清除)中删除所有内容。 非常感谢!
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]);
}
}
}
很抱歉我的延迟,但我直到现在才可以访问互联网... 我找到了解决问题的方法:
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 文件的树视图,可以通过从树视图中选择来删除这些文件。