如何在 Vista/Win7 中自动打开新的 OpenFileDialog?
我在 Vista 上并且使用 Microsoft.Win32.OpenFileDialog
类。
当我调用 ShowDialog()
时,我得到旧 XP 风格的对话框:
如何获得新的 Vista 风格对话框并回退到 WindowsXP 上的旧版本?
一点隆隆声:
我真的不明白为什么他们没有替换 vista 中的对话框,而是保留了他们俩。现在,除非更新,否则旧版应用程序永远不会打开新对话框。
I'm on Vista and I'm using Microsoft.Win32.OpenFileDialog
class.
When I call ShowDialog()
I get the old XP-style dialog:
How do I get the new Vista-style dialog with fallback to the old one on WindowsXP?
A bit of rumble:
I don't really understand why they didn't replace the dialog in vista, but kept both of them. Now legacy apps will never open new dialog, unless updated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的,您必须升级到 .NET 4.0 才能获得新对话框。如果您卡在 3.5 上,那么您可以使用 System.Windows.Forms.OpenFileDialog,它确实获得了更新以使用新的 IFileDialog COM 接口。
回退是自动的,但如有必要,您可以使用其 AutoUpgradeEnabled 属性强制保留。但事实并非如此,.NET 程序不太可能修改该对话框。
Yes, you'd have to upgrade to .NET 4.0 to get the new dialog. If you're stuck on 3.5 then you can use System.Windows.Forms.OpenFileDialog, it did get the update to use the new IFileDialog COM interface.
The fallback is automatic but you can use its AutoUpgradeEnabled property to force legacy, if necessary. Which it is not, unlikely that a .NET program would modify the dialog.
您显示的第一个对话框是保存对话框而不是打开对话框。
你应该只需要这样做:
The first dialog you showed is a save dialog not an open dialog.
You should only have to do this:
参考 System.Windows.Forms
Reference System.Windows.Forms