C#SaveFileDialog在特定文件夹中

时间:2012-01-09 13:37:17

标签: c# savefiledialog

我使用SaveFileDialog选择要保存文件的路径。我将InitialDirectory设置为某个文件夹,但我想将保存位置限制为该文件夹或该文件夹的子文件夹。这可能吗?

SaveFileDialog dialog = new SaveFileDialog();
dialog.InitialDirectory = "SomePath"//this is the path that I want to be root folder

3 个答案:

答案 0 :(得分:9)

不,这是不可能的。

您无法在SaveFileDialog上直接将其设为属性。但您可以尝试使用FileOk事件来验证文件是否在该目录中,否则取消该事件!

dialog.FileOk +=
    delegate (object sender, CancelEventArgs e)
    {
        if (dialog.FileName is in wrong directory)
        {
            e.Cancel = true;
        }
    };

如上所述,下一个最佳选择是构建自己的Dialog!

答案 1 :(得分:0)

我想到的一些解决方案是:

文件选择后显示错误

不像首先阻止用户那么好,但它不需要很多代码并且非常简单。

构建您自己的文件选择屏幕

看起来像用户习惯的任何东西都非常痛苦。需要大量代码。

答案 2 :(得分:0)

我能想到的可能是偏离主题的,因为它与编程无关,而且可能很难。

当您正在安装应用程序时,您应该在Windows上为您的应用程序创建一个特定用户。

你可以开始使用App。作为该用户使用App。清单文件。

之后,您可以将该特定用户权限仅授予根文件夹,这是操作系统将如何控制它。

PS:我不认为这个解决方案是否会自行支付,但它可能会有效。

<强>敬礼