带复选框的文件夹浏览对话框?

时间:2009-04-22 17:35:11

标签: c# winforms treeview checkbox folderbrowserdialog

我正在寻找最简单的解决方案来实现文件夹浏览对话框,其中包含我的(C#)WinForms项目目录前面的复选框。

我在备份中心的Vista中看到了这种对话框。它就像一个普通的文件夹浏览对话框,但在每个文件夹前面都有一个复选框。如果你检查了一个文件夹,那么它中的所有文件夹和文件也会被检查,你可以在之后单独取消选择它们。

如果没有预制控件或其他任何内容,那么最简单的方法是: - 操作普通文件夹浏览对话框以包含复选框功能;要么 - 操作TreeView控件以使用Shell图标作为路径(因此桌面,我的音乐,普通文件夹,文件等的正确系统图标),所以我可以自己构建一个?

注意:我希望对话框/控件显示文件文件夹。

提前感谢任何提示和提示。 =)

3 个答案:

答案 0 :(得分:4)

从树视图开始。 (但你必须自己动手抓取孩子)。

如果您不关心资源管理器命名空间(例如,我的电脑下面有控制面板,或者带有回收站的桌面,网络Neigborhood以及下面的一些内容),并且只需要带有驱动器号的驱动器上的文件,您就可以开始了枚举驱动器号(使用System.IO.Directory.GetLogicalDrives)。

您可以通过从ManagedWinapi库(http://mwinapi.sourceforge.net/)调用ExtendedFileInfo.GetIconForFilename来获取shell图标,该库适用于文件和文件夹。

答案 1 :(得分:0)

实现类似这样的事情的最简单方法是使用CheckBoxes属性设置为true的标准TreeView控件。如果您想在每个节点旁边添加一个小文件夹图像,您还应该能够使用它。

See this MSDN article for more info.

答案 2 :(得分:0)

FolderBrowserDialog不支持复选框。查看FolderView控件,该控件显示文件夹和文件旁边的多状态复选框。