Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何处理主目录和;“我的电脑”;在c#TreeView中_C#_Windows_Treeview_Filesystems - Fatal编程技术网

如何处理主目录和;“我的电脑”;在c#TreeView中

如何处理主目录和;“我的电脑”;在c#TreeView中,c#,windows,treeview,filesystems,C#,Windows,Treeview,Filesystems,我正在制作一个文件系统树视图。我希望最初的四个项目是 +计算机 +桌面 +我的文件 +C:\ 这些都是预先填充的,这样当单击+时,子目录就会出现,并立即填充。非常适合C:\——就像windows资源管理器一样。但其他三个只是以名字的形式出现。它们显然与实际的文件系统位置无关。如何添加其他三个文件系统位置?我试过: TreeNode my_computer = new TreeNode("Computer"); TreeNode desktop = new TreeNode(@"%UserPr

我正在制作一个文件系统树视图。我希望最初的四个项目是

+计算机

+桌面

+我的文件

+C:\

这些都是预先填充的,这样当单击+时,子目录就会出现,并立即填充。非常适合C:\——就像windows资源管理器一样。但其他三个只是以名字的形式出现。它们显然与实际的文件系统位置无关。如何添加其他三个文件系统位置?我试过:

 TreeNode my_computer = new TreeNode("Computer");
 TreeNode desktop = new TreeNode(@"%UserProfile%\Desktop");
 TreeNode c_drive = new TreeNode(@"C:\");
 TreeNode my_documents = new TreeNode(@"%UserProfile%\My Documents");

也没有%UserProfile%。两者都不起作用。

您可能需要查看
环境。SpecialFolder
枚举:


它们是虚拟shell文件夹。您必须使用本机shell函数枚举它们。哦,快乐。添加对c:\windows\system32\shell32.dll的引用以开始该操作。用Object Browser查看它,了解谷歌应该做什么。此外,你可能想重新考虑显示绝对路径(如果你这样做的话)。通过在节点文本中显示相对路径和在节点标记中显示绝对路径,避免重复和冗长的节点文本