问题标签 [openfiledialog]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
17 回答
235625 浏览

.net - 如何配置 OpenFileDialog 来选择文件夹?

在 VS .NET 中,当您为项目选择文件夹时,会显示一个类似于 OpenFileDialog 或 SaveFileDialog 的对话框,但设置为仅接受文件夹。自从我看到这个,我就想知道它是如何完成的。我知道 FolderBrowserDialog,但我从来没有真正喜欢过那个对话框。它开始太小,不让我利用能够键入路径的优势。

我几乎可以肯定现在没有办法从 .NET 中做到这一点,但我也很好奇你是如何从非托管代码中做到这一点的。如果没有从头开始完全重新实现对话框,您如何修改对话框以使其具有这种行为?

我还想重申我知道 FolderBrowserDialog 但有时我不喜欢使用它,除了真的很好奇如何以这种方式配置对话框。告诉我只使用 FolderBrowserDialog 有助于我保持一致的 UI 体验,但不能满足我的好奇心,所以它不会算作答案。

这也不是特定于 Vista 的东西。我从 VS .NET 2003 开始​​就看到了这个对话框,所以它在 Win2k 和 WinXP 中是可行的。这不是“我想知道执行此操作的正确方法”的问题,而是“自从我第一次想在 VS 2003 中这样做以来,我一直对此感到好奇”的问题。我知道 Vista 的文件对话框有一个选项可以做到这一点,但它一直在 XP 中工作,所以我知道他们做了一些事情来让它工作。Vista 特定的答案不是答案,因为问题上下文中不存在 Vista。

更新:我接受 Scott Wisniewski 的回答,因为它带有一个工作示例,但我认为 Serge 指出对话框自定义(这对于 .NET 来说是令人讨厌的,但它确实有效)和 Mark Ransom 找出那个 MS 值得称赞可能为此任务滚动了一个自定义对话框。

0 投票
3 回答
8120 浏览

c# - 打开文件对话框。“指定目录对话框”怎么样?

在文件路径字段上,我想捕获目录路径,例如:

任何人?

0 投票
1 回答
1185 浏览

delphi - Delphi:OpenFileDialog 与 URL 崩溃

给 TOpenFileDialog 一个 URL,Execute 方法抛出一个异常:

但是您可以从 URL 打开文件。

德尔福5

0 投票
3 回答
2130 浏览

.net - 更改/添加控件到窗口打开/保存通用对话框

有没有办法更改/添加到 Windows 打开/保存常用对话框以添加额外的功能?

在工作中,我们在服务器上有一个区域,其中包含数百个“工作文件夹”——只是由数据库应用程序自动创建/管理的普通 Windows 文件夹,用于存放有关工作的信息(电子邮件/扫描的传真/Word 文档/电子表格/照片等)由作业编号命名。

我想用一个组合框扩展标准的打开/保存对话框,该组合框根据数据库中的标签搜索工作文件夹,这样无论我的用户在做什么,他们都可以轻松找到正确的工作文件夹来查找/保存他们的工作

连接到数据库并提供搜索功能是没有问题的,但是有没有办法在对话框中添加一个组合框控件(最好使用 keypress/keydown 事件)?

或者创建我自己的对话框并调用/使用它来代替标准对话框?即从任何应用程序我的对话框将被称为允许轻松访问工作文件夹。如果他们在 Outlook 中,他们可以快速找到工作文件夹,如果使用记事本,他们仍然可以轻松找到该文件夹​​。

这将意味着一种从任何应用程序中查找工作文件夹的新统一方式。

理想情况下,有人会知道使用 VB/VB.net/C# 的方法,但我猜,如果可能的话,它可能会是 C++。

0 投票
4 回答
915 浏览

windows - 打开对话框保留设置

如何保存打开对话框中的设置?例如,我希望打开对话框记住我选择了详细信息视图并按修改日期排序。

0 投票
3 回答
2156 浏览

winapi - 增加 GetOpenFileName 文件选择对话框的文件名字段中的字符数

我们的应用程序允许在通过 GetOpenFileName 函数显示的文件选择对话框中选择多个文件(这个问题也适用于使用 CFileDialog 等的人......)

可以在文件名字段中输入的字符数似乎是有限制的(259 似乎是一个神奇的数字——不知道为什么)。

我们已尝试更改OPENFILENAME结构的以下成员:

lpstrFile - 指向我们自己的缓冲区,大小为 4K 字节 nMaxFile - 设置为 lpstrFile 的大小(我们正在编译 ANSI,所以这实际上是 4000

但是这些值似乎不会增加对话框中文件名字段的输入宽度。

我将尝试向控件发送 EM_SETLIMITTEXT 消息,但想知道其他人是否有解决方案。

编辑 - 自己解决了这个问题:解决方案 我不能接受我自己的答案,但这是为了后代。如果其他人有更好的解决方案,请发布 - 或者随时修改我的解决方案,以便未来的搜索者可以在顶部找到它。

0 投票
3 回答
1180 浏览

.net - ./ 使用 OpenFileDialog 时更改目标

我正在使用 streamwriter 记录错误

它的设计方式(请不要问为什么)是每次应用程序必须记录消息时打开一个新的流写入器。它将所有内容输出到 ./Logs/[current-date].txt,通常解析为“c:\myappfolder\logs[current-date].txt”

一切正常,但是在我使用打开的文件对话框说“C:\home\myfolder\myfile”之后,streamwriter 尝试写入“c:\home\myfolder\logs[current-date].txt”

我知道这个问题的解决方案,但我只是不明白发生了什么

0 投票
10 回答
32188 浏览

c# - 从 .NET 中的同一对话框中选择文件或文件夹

是否有一种“简单”的方法可以从同一个对话框中选择文件或文件夹?

在我创建的许多应用程序中,我允许文件或文件夹作为输入。到目前为止,我总是最终创建一个开关来在文件或文件夹选择对话框之间切换,或者只使用拖放功能。

由于这似乎是一个基本的东西,我想这是以前创建的,但谷歌搜索不会产生太多信息。所以看起来我需要从头开始并创建一个自定义选择对话框,但我宁愿不通过重新发明轮子来完成这样一个微不足道的任务来引入任何问题。

有人有任何提示或现有解决方案吗?

为了使 UI 保持一致,最好可以扩展 OpenFileDialog(或 FolderBrowserDialog)。

0 投票
2 回答
1889 浏览

windows - GetOpenFileName 更改目录

问题:

有谁知道如何更改已经运行的打开文件对话框的当前目录?

细节:

我有一个自定义的打开文件对话框(使用自定义模板添加额外的控件),它还关闭了所有验证、现有检查和创建测试(通过 OpenFileName 标志)。

关闭这些功能会禁用对话框的内置行为,如果用户在“文件名”组合框中键入文件夹名称并按回车键,对话框会更改当前显示的文件夹。

我想重新添加该行为。我可以通过钩子程序检测到何时发生这种情况。我已经隐藏了 OK 按钮,关闭了它的加速器,并将我自己的“选择”按钮放在了控件上。这意味着我收到 CDN_FILEOK 消息的唯一时间是用户在键入后在文本框中按 Enter 键。

但是,我无法弄清楚如何以编程方式告诉对话框更改当前目录。

我在想我可以通过向窗口中的 SHELLDLL_DefView 控件发送某种消息来完成此操作,但我无法找到任何文档。

0 投票
4 回答
5696 浏览

c# - C# OpenFileDialog 非模态可能

是否可以创建/拥有一个非模态的 .net OpenFileDialog 我在主对话框中有一个 UI 元素,它总是需要用户按下。