如何创建类似资源管理器的文件夹浏览器控件?

时间:2010-03-10 12:54:09

标签: c# .net winforms explorer

在VS2008中使用C#和WinForms,我想创建一个文件浏览器控件,其外观和行为类似于Windows资源管理器中的左窗格。令我惊讶的是,默认情况下,这样的控件不附带.NET。

理想情况下,我希望其内容与资源管理器中的内容完全相同。例如,在Windows 7上,它应显示“收藏夹”和“库”伪文件夹。当然,如果我能提供帮助,我不想专门为每个版本的Windows编写代码。

我浏览了一下,并且有一些这样的控件的例子,但它们都是手工卷制的,因此不会像资源管理器中那样100%工作。

有什么方法可以简单地重用Explorer控件吗?或者,如果没有,访问它将显示的项目的树?

3 个答案:

答案 0 :(得分:31)

Microsoft提供a walkthrough for creating a Windows Explorer style interface in C#

Code Project和其他网站上也有几个例子。即时示例包括Explorer TreeMy ExplorerFile BrowserAdvanced File Explorer,但还有其他示例。从我拍摄的简短一瞥看来,Explorer Tree似乎看起来最好。

我使用Google中的搜索字词windows explorer tree view C#来查找这些链接。

答案 1 :(得分:1)

这并不像实现这样的控件那么容易。 Explorer使用shell项目,而不是文件系统项目(例如:控制面板,打印机文件夹等)。如果您需要实现它,我建议您查看http://msdn.microsoft.com/en-us/library/bb776426(VS.85).aspx上的Windows shell函数。

答案 2 :(得分:0)

查看Shell MegaPack控制集。它提供Windows资源管理器,如文件夹/文件浏览,具有大多数特性和功能,如上下文菜单,重命名,拖放,图标,叠加图标,缩略图等