windows 是否有更新版本的FolderBrowserDialog?

cx6n0qe3  于 7个月前  发布在  Windows
关注(0)|答案(2)|浏览(86)

Windows似乎在一些地方使用了一个更现代的对话框来浏览和选择文件夹(我在网上找到了这个截图,http://media.wiley.com/Lux/97/145397.image1.jpg),所以我想知道是否有任何方法可以访问这个对话框并在程序中使用它。
当然,我知道System.Windows.Forms.FolderBrowserDialog,但它仍然使用一种旧的TreeView风格的UI,这种UI已经不再使用了(我担心这是有原因的)。
我见过一些这样的问题(例如,OpenFileDialog that can select folders?),但它们已经过时了,引用了第三方对话框(如果可能的话,我宁愿避免),或者两者兼而有之。
我是不是错过了什么?我可以想象这类东西被隐藏在其他库或API/SDK或其他东西中。我只是惊讶于微软似乎在整个Windows中如此彻底地使用它,而没有完全发布它,特别是因为我至少在Windows 7之后就看到了它。

eivgtgni

eivgtgni1#

这是OpenFileDialog的Vista版本。底层的本机接口是基于COM的,IFileDialog::SetOpions() method是用FOS_PICKFOLDERS选项调用的。
这个特性并没有直接在.NET中公开,它仍然需要支持不支持Vista界面的旧操作系统。特别是XP。如果你能承受不再支持XP的代价,或者愿意为旧操作系统编写仍然使用FolderBrowserDialog的回退代码,那么你可以在Windows API Code Pack library中找到与IFileOpenDialog互操作的代码。

2fjabf4q

2fjabf4q2#

他们做到了!他们终于更新了FolderBrowserDialog的外观和感觉,使之与OpenFileDialog和SaveFileDialog保持一致!我觉得我是第一次听到德彪西的作品。我不确定他们是什么时候更新的,但它现在在WinForms中。我想亲吻最终在MS推送更新的开发人员。我花了很多时间向高层解释,经过测试和信任的MS文件夹浏览器确实是旧的风格,写一个新的外观将推动发布日期。但不是更多!我喜欢它!
要使用FolderBrowserDialog的新的和更新的外观和感觉,只需更新到.NET 6.0。我不确定更新的模态弹出窗口是否是在6.0之前添加的,但现在已经有了。代码似乎在很大程度上是向前兼容的。我的样板FBD代码只适用于新的弹出窗口。

相关问题