如何创build一个资源pipe理器的文件夹浏览器控制?

在VS2008中使用C#和WinForms,我想创build一个文件浏览器控件,看起来像Windows资源pipe理器中的左窗格。 令我惊讶的是,这样的控件默认不带.NET。

理想情况下,我希望其内容与Explorer中的内容完全相同。 例如,在Windows 7上,它应该显示collections夹和库伪文件夹。 当然,我不想为每个版本的Windows专门编写代码,只要我可以帮助它。

我浏览过,有一些这样的控件的例子,但它们都是手动滚动的,因此不会像Explorer中的那样100%地工作。

有没有什么办法可以简单地重用资源pipe理器控制呢? 或者,如果没有,访问它将显示的项目树?

Microsoft提供了一个在C#中创buildWindows资源pipe理器样式界面的演练 。

代码项目和其他网站上也有几个例子。 即时示例是资源pipe理器树 , 我的资源pipe理器 , 文件浏览器和高级文件资源pipe理器,但也有其他。 资源pipe理器树似乎看起来最好从我采取的简短的一瞥。

我在Google中使用search词windows explorer tree view C#来查找这些链接。

实现这样的控制似乎并不容易。 Explorer可以使用shell项目,而不是文件系统项目(例如:控制面板,打印机文件夹等)。 如果你需要实现它,我build议看看Windows shell的function在http://msdn.microsoft.com/en-us/library/bb776426(VS.85).aspx 。

看一下Shell MegaPack控件集。 它提供了Windows资源pipe理器像文件夹/文件浏览大部分function和function,如上下文菜单,重命名,拖放,图标,叠加图标,缩略图等