C#SaveFileDialog在特定文件夹中
我使用SaveFileDialog
选择我要保存文件的路径。 我将InitialDirectory
设置为某个文件夹,但我想将保存位置限制为该文件夹或该文件夹的子文件夹。 这可能吗?
SaveFileDialog dialog = new SaveFileDialog(); dialog.InitialDirectory = "SomePath"//this is the path that I want to be root folder
不,这是不可能的。
您无法在SaveFileDialog
上将其直接设置为Property。 但您可以尝试使用FileOk
事件来validation文件是否在该目录中,否则取消该事件!
dialog.FileOk += delegate (object sender, CancelEventArgs e) { if (dialog.FileName is in wrong directory) { e.Cancel = true; } };
如前所述,下一个最佳选择是构建自己的Dialog!
想到的一些解决方案是:
选择文件后显示错误
不像在一开始就阻止用户那么好,但它不需要很多代码并且非常简单。
建立自己的文件选择屏幕
看起来像用户习惯的任何东西都非常痛苦。 需要大量代码。
我能想到的可能是偏离主题的,因为它与编程没有多大关系,而且可能很难。
当您正在安装应用程序时,您应该在Windows上为您的应用程序创建一个特定用户。
比你可以开始你的应用程序。 作为该用户使用App。 清单文件。
之后,您可以将特定用户权限授予仅在根文件夹中写入,这是操作系统将如何控制它。
PS:我不认为这个解决方案是否会自行支付,但它可能会有效。
敬礼