0

我希望打开标准窗口并保存文件对话框,但是,我使用它的特定应用程序是一个远程文件系统(基本上,我很想以某种方式为 SaveFileDialog 提供一个 IFileSystem 接口并让它神奇地改变我提供它们时看到的文件)。有谁知道支持此功能的那些对话框的完整实现?有没有办法用标准的 C#/windows 对话框来做到这一点?

如果没有,我将自己实施对话。我仍然会喜欢任何资源来实现这些对话框,即使它们不支持此功能,这样我就可以将它们拆开并自己添加该功能。

谢谢!

4

2 回答 2

2

唯一的选择是实现您自己的 Shell 命名空间扩展。它可能被注册为“我的电脑”子项,因此它看起来像另一个驱动器。注意:这是一项乏味的工作,并且由于 .NET 框架的限制(<4.0),它必须用 C/C++ 编写。

是示例。

于 2012-05-13T21:02:39.127 回答
1

这些类是对本地 Windows shell api 函数调用的非常薄的包装器。GetOpenFileName() 用于 XP 及更早版本,IFileOpenDialog COM 接口用于 Vista 及更高版本。如果您在资源管理器中看不到文件系统,那么这些包装器将毫无用处。

于 2012-05-13T18:59:23.923 回答