文件阳极的标签导致目录阳极错误,这是因为它们是同一个吗?另外我认为从标签到fileinfo对象的转换是不行的。有关如何将fileinfo导入用户选择填充列表视图的节点的任何建议?
//see code below where attempts made to add tags
foreach (DirectoryInfo subDir in subDirs)
{
aNode = new TreeNode(subDir.Name, 0, 0);
aNode.Tag = subDir;
aNode.ImageKey = "Folder";
aNode.ImageIndex = 0;
aNode.SelectedImageIndex = 1;
subSubDirs = subDir.GetDirectories();
if (subSubDirs.Length != 0)
{
GetDirectories(subSubDirs, aNode);
}
//add files to treeview
foreach (var file in subDir.GetFiles())
{
if(file.Name.Contains(".rfa"))
{
aNode.Nodes.Add(new TreeNode(file.Name));
//cant add a tag to the file only to the directory
aNode.Tag = file;
}
}
nodeToAddTo.Nodes.Add(aNode);
}
答案 0 :(得分:0)
1)为了检查文件的扩展名,最好使用:
file.Extension.Equals(".rfa", StringComparison.OrdinalIgnoreCase);
2)您正在修改aNode'Tag'属性,这可能是导致您出现问题的原因,请尝试按如下方式修改:
aNode.Nodes.Add(new TreeNode(file.Name){Tag=file});
3)恕我直言,你不应该把FileInfo / DirectoryInfo对象保留在'Tag'中,而应该使用路径本身
4)如果您只想在树视图中显示目录的结构,请查看以下内容:https://stackoverflow.com/a/6239644/120391 [您可以轻松修改它以仅显示'.rfa'文件]