34

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

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

我浏览了一下,有一些此类控件的示例,但它们都是手动滚动的,因此不会与资源管理器中的 100% 相同。

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

4

3 回答 3

34

Microsoft 提供了在 C# 中创建 Windows 资源管理器样式界面的演练

Code Project和其他网站上也有几个示例。直接的例子是Explorer TreeMy ExplorerFile BrowserAdvanced File Explorer,但还有其他的。从我短暂的一瞥看来,Explorer Tree似乎是最好的。

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

于 2010-03-10T13:21:00.163 回答
1

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

于 2010-03-10T13:01:56.423 回答
0

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

于 2010-03-10T13:39:51.630 回答