gpt4 book ai didi

.net - 在 .Net 中自定义 OpenFileDialog

转载 作者:行者123 更新时间:2023-12-04 11:30:53 24 4
gpt4 key购买 nike

需要在 Windows XP 和 Windows Vista/7 中创建具有原生外观的自定义 .Net OpenFileDialog。向它添加新控件等。有没有办法在.Net(特别是WPF)中自定义标准OpenFileDialog?我浏览了 OpenFileDialogEx 之类的解决方案,但是我不能接受所有那些 WINAPI Hook 的东西。也许有人知道一种通过反射或其他方式提取 native 对话框的方法? Windows Vista/7 中原生的 OpenFileDialog 是如何实现的?是用WPF写的吗?提前致谢。

问候,帕维尔。

最佳答案

习惯它,因为它需要什么。 OpenFileDialog 不是用 WPF 编写的,对话框作为非托管代码存在于 Windows 中。托管包装器在旧版本上使用 GetOpenFileName(),在当前版本上使用 IFileOpenDialog COM 接口(interface)。对于后一种,IFileDialogCustomize 接口(interface)旨在自定义对话框。

这些接口(interface)只能在 C++ 程序中轻松使用,这是 shell 编程的经典祸害。必须支持 XP 机器也是一个相当令人头疼的问题,实际上,您会通过 GetOpenFileName() 卡在遗留对话框中。这就是那个代码项目所做的。

关于.net - 在 .Net 中自定义 OpenFileDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4106120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com