1

我正在构建一个需要使用SaveFileDialog. 问题是我想限制用户使用某些部分SaveFileDialog(例如我不希望他们编辑文件的名称)。我听说使用 Windows 窗体很难做到这一点SaveAsDialog。您知道如何在本机代码中执行此操作吗?您是否有一个完整的无法理解的示例(我需要整个示例,因为我从未使用过 Windows API)?

PS。我真的需要使用SaveFileDialog来保持 UI 一致。

4

3 回答 3

5

如果文件名是固定的,并且用户只能导航到备用位置,则只需使用FolderBrowserDialog。恕我直言,这也是一致的。

于 2009-08-14T09:31:19.773 回答
4

如果您真的想使用通用的保存文件对话框,但想让文件名只读,您可能必须调用本机代码。您可以使用挂钩提供许多自定义项。您将不得不学习一些 Windows API:

自定义常用对话框

打开和另存为对话框

GetSaveFileName功能使用GetSaveFileName托管代码

OPENFILENAME结构使用OPENFILENAME托管代码

我很久没有做老式的 Windows API 了,所以下面的想法就是:一个想法。也许您可以创建一个挂钩并在WM_INITDIALOG其中找到带有文件名的编辑控件。它似乎被命名为edt1. 也许您可以修改控件的窗口样式以使其只读。

但也许这里提供的其他一些答案是比破解另存为对话框更好的选择。

于 2009-08-14T09:43:36.007 回答
-1

Savefiledialog从头开始创建自己的。

只需创建一个看起来与 a 几乎相同Savefiledialog但使用Labelfor 名称而不是TextBox.

于 2009-08-14T09:27:35.100 回答