我希望打开标准窗口并保存文件对话框,但是,我使用它的特定应用程序是一个远程文件系统(基本上,我很想以某种方式为 SaveFileDialog 提供一个 IFileSystem 接口并让它神奇地改变我提供它们时看到的文件)。有谁知道支持此功能的那些对话框的完整实现?有没有办法用标准的 C#/windows 对话框来做到这一点?
如果没有,我将自己实施对话。我仍然会喜欢任何资源来实现这些对话框,即使它们不支持此功能,这样我就可以将它们拆开并自己添加该功能。
谢谢!
我希望打开标准窗口并保存文件对话框,但是,我使用它的特定应用程序是一个远程文件系统(基本上,我很想以某种方式为 SaveFileDialog 提供一个 IFileSystem 接口并让它神奇地改变我提供它们时看到的文件)。有谁知道支持此功能的那些对话框的完整实现?有没有办法用标准的 C#/windows 对话框来做到这一点?
如果没有,我将自己实施对话。我仍然会喜欢任何资源来实现这些对话框,即使它们不支持此功能,这样我就可以将它们拆开并自己添加该功能。
谢谢!
唯一的选择是实现您自己的 Shell 命名空间扩展。它可能被注册为“我的电脑”子项,因此它看起来像另一个驱动器。注意:这是一项乏味的工作,并且由于 .NET 框架的限制(<4.0),它必须用 C/C++ 编写。
这是示例。
这些类是对本地 Windows shell api 函数调用的非常薄的包装器。GetOpenFileName() 用于 XP 及更早版本,IFileOpenDialog COM 接口用于 Vista 及更高版本。如果您在资源管理器中看不到文件系统,那么这些包装器将毫无用处。