我使用SaveFileDialog
来选择我想保存文件的路径。我将InitialDirectory
设置为某个文件夹,但我希望限制保存位置仅限于该文件夹或该文件夹的子文件夹。这种情况是否可能?
SaveFileDialog dialog = new SaveFileDialog();
dialog.InitialDirectory = "SomePath"//this is the path that I want to be root folder
我使用SaveFileDialog
来选择我想保存文件的路径。我将InitialDirectory
设置为某个文件夹,但我希望限制保存位置仅限于该文件夹或该文件夹的子文件夹。这种情况是否可能?
SaveFileDialog dialog = new SaveFileDialog();
dialog.InitialDirectory = "SomePath"//this is the path that I want to be root folder
不可能。
你不能直接将此属性设置为SaveFileDialog
上的属性。但是,您可以尝试使用FileOk
事件来验证文件是否在该目录中,否则取消该事件!
dialog.FileOk +=
delegate (object sender, CancelEventArgs e)
{
if (dialog.FileName is in wrong directory)
{
e.Cancel = true;
}
};
在文件选择后显示错误
虽然不如预先防止用户选择,但这不需要太多代码,而且非常直接。
构建自己的文件选择屏幕
非常痛苦,需要大量代码才能使其看起来像用户习惯的任何东西。
我能想到的可能与编程无关,而且可能很困难,所以有些离题了。
在你的应用程序安装期间,你应该在Windows上为你的应用程序创建一个特定的用户。
然后,你可以使用应用程序清单文件作为该用户启动你的应用程序。
之后,你可以给那个特定的用户权限只写根目录,这样操作系统就会控制它。
PS:我不认为这个解决方案会回报成本,但它可能有效。
敬礼