有没有FolderBrowserDialog的更新版本?
有没有FolderBrowserDialog的更新版本?
Windows似乎在一些地方使用了更现代的对话框来浏览和选择文件夹(我在网上找到了这个截图,链接为http://media.wiley.com/Lux/97/145397.image1.jpg),所以我想知道是否有办法访问并在我的程序中使用该对话框。
当然,我知道System.Windows.Forms.FolderBrowserDialog
,但那仍然使用了一种旧的TreeView式的用户界面,现在已经不再使用(我担心这是有充分理由的)。
我看到过一些类似的问题(例如,可以选择文件夹的OpenFileDialog?),但它们已经过时,涉及第三方对话框(如果可能的话,我宁愿避免使用第三方对话框),或者两者都有。
我是不是漏掉了什么?我可以想象这种类型的东西可能被隐藏在其他库或API/SDK中。我只是对Microsoft在Windows中如此广泛地使用它而没有完全发布它感到惊讶,尤其是因为我至少从Windows 7开始就见过它。
有没有FolderBrowserDialog的更新版本?
FolderBrowserDialog是一个用于选择文件夹的对话框,但是它的版本较旧,无法直接支持Vista及更高版本的操作系统。FolderBrowserDialog的底层接口是基于COM的,其中使用了IFileDialog::SetOptions()方法,通过设置FOS_PICKFOLDERS选项来实现选择文件夹的功能。
然而,这个功能在.NET中并没有直接暴露出来,因为.NET仍然需要支持不支持Vista接口的旧操作系统,特别是XP。如果你可以放弃对XP的支持,或者愿意编写适用于旧操作系统的回退代码,那么你可以在Windows API Code Pack库中找到与IFileDialog进行互操作的代码。
Windows API Code Pack库提供了一种解决方案,通过它可以实现与IFileDialog的互操作,从而实现选择文件夹的功能。你可以在该库中找到相关的代码示例和文档,以帮助你实现所需的功能。
希望以上内容对你有所帮助。