gpt4 book ai didi

.net - 如何为 >= Vista 自定义 FileOpen 对话框?

转载 作者:行者123 更新时间:2023-12-04 01:15:14 26 4
gpt4 key购买 nike

我正在寻找定制类似于 Vista 的 OpenFileDialog使用自定义 WinForms 和 WPF 控件。我知道你可以模板 XP-like OpenFileDialog但这看起来很丑陋,不能满足我的要求。我知道你可以自定义 OpenFileDialog使用 Ookii对话或来自 Microsoft's API Code Pack .这种方法的问题是它们不允许自定义控件,只有有限的控件子集( LabelTextBox 等)。
我得到的最接近的是下图。使用 API 代码包的组合,对 Shell 进行一些更改,为间距添加空标签的黑客工作,以及一堆丑陋的 COM 直接在 OpenFileDialog 上绘制控件,我能够接近。
这种方法的问题是我必须在 WndProc 中禁用重新调整大小,因为 CommonOpenFileDialog 中的控制部分具有流/换行布局,并且您无法在重新调整大小时动态添加/删除控件,或者如果 OpenFileDialog 已经显示,则会发生灾难性故障。
除了我尝试过的或任何第三方产品,是否有任何建议可以作为标准的类似 Vista 的 OpenFileDialog 但允许插入自定义控件?
[
我还尝试使用 API 代码包中的 ExplorerBrowser(如下图所示)滚动我自己,但尽管梳理了 COM API,但似乎没有一种方法可以在 ExplorerBrowser 中定义过滤器。
[

最佳答案

这种事情可以很容易地使用 WPF 和 XAML 从头开始​​编写。如有必要,可以使用您想要的简单子(monad)组件的控件。

如果您尝试修改现有的文件对话框,您将受到限制,并且稍后可能会碰壁。

关于.net - 如何为 >= Vista 自定义 FileOpen 对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14857984/

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