代码之家  ›  专栏  ›  技术社区  ›  Thomas

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

  •  30
  • Thomas  · 技术社区  · 14 年前

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

    理想情况下,我希望它的内容与Explorer中的内容完全相同。例如,在Windows7上,它应该显示Favorites和Libraries伪文件夹。当然,如果我能帮助的话,我不想为每个版本的Windows专门编写代码。

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

    我是否可以简单地重用资源管理器控件?或者,如果不是,访问它将显示的项目树?

    3 回复  |  直到 14 年前
        1
  •  30
  •   Jeff Yates    14 年前

    微软提供 a walkthrough for creating a Windows Explorer style interface in C# .

    还有几个例子 Code Project 以及其他网站。直接的例子是 Explorer Tree , My Explorer , File Browser Advanced File Explorer 但是还有其他的。 资源管理树 从我短暂的一瞥看来,看起来是最好的。

    我用了搜索词 windows explorer tree view C# 在谷歌上找到这些链接。

        2
  •  1
  •   munissor    14 年前

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

        3
  •  0
  •   logicnp    14 年前

    看一看 Shell MegaPack 控制集。它提供了类似于Windows资源管理器的文件夹/文件浏览功能,包括大多数功能和功能,如上下文菜单、重命名、拖放、图标、覆盖图标、缩略图等。