我正在构建一个需要使用SaveFileDialog
. 问题是我想限制用户使用某些部分SaveFileDialog
(例如我不希望他们编辑文件的名称)。我听说使用 Windows 窗体很难做到这一点SaveAsDialog
。您知道如何在本机代码中执行此操作吗?您是否有一个完整的无法理解的示例(我需要整个示例,因为我从未使用过 Windows API)?
PS。我真的需要使用SaveFileDialog
来保持 UI 一致。
我正在构建一个需要使用SaveFileDialog
. 问题是我想限制用户使用某些部分SaveFileDialog
(例如我不希望他们编辑文件的名称)。我听说使用 Windows 窗体很难做到这一点SaveAsDialog
。您知道如何在本机代码中执行此操作吗?您是否有一个完整的无法理解的示例(我需要整个示例,因为我从未使用过 Windows API)?
PS。我真的需要使用SaveFileDialog
来保持 UI 一致。
如果文件名是固定的,并且用户只能导航到备用位置,则只需使用FolderBrowserDialog
。恕我直言,这也是一致的。
如果您真的想使用通用的保存文件对话框,但想让文件名只读,您可能必须调用本机代码。您可以使用挂钩提供许多自定义项。您将不得不学习一些 Windows API:
GetSaveFileName
功能(使用GetSaveFileName
托管代码)
OPENFILENAME
结构(使用OPENFILENAME
托管代码)
我很久没有做老式的 Windows API 了,所以下面的想法就是:一个想法。也许您可以创建一个挂钩并在WM_INITDIALOG
其中找到带有文件名的编辑控件。它似乎被命名为edt1
. 也许您可以修改控件的窗口样式以使其只读。
但也许这里提供的其他一些答案是比破解另存为对话框更好的选择。
Savefiledialog
从头开始创建自己的。
只需创建一个看起来与 a 几乎相同Savefiledialog
但使用Label
for 名称而不是TextBox
.