如果选择的 VistaFolderBrowserDialog 不存在,则可以自动创建文件夹

本文关键字:创建 文件夹 选择 VistaFolderBrowserDialog 不存在 如果 | 更新日期: 2023-09-27 18:31:44

I using Ookii.Dialog.

当我使用VistaFolderBrowserDialog选择一个文件夹时,我希望如果所选文件夹不存在,它会要求创建它,而是提醒该文件夹不存在。

我怎样才能做这样的事情? 是否有任何事件或选项?

这是我的代码。

VistaFolderBrowserDialog dialog = new VistaFolderBrowserDialog();
dialog.Description = "Select Export Folder:";
dialog.ShowNewFolderButton = true;
dialog.SelectedPath = Path.Combine(Path.GetDirectoryName(lastSelectPath), 
       Path.GetFileNameWithoutExtension(lastAppendFilepath));

如果选择的 VistaFolderBrowserDialog 不存在,则可以自动创建文件夹

您需要做的就是检查该目录是否存在Directory.Exists(string),通过MessageBox询问用户,然后使用Directory.CreateDirectory(string)创建目录。

var initialDirectory = Path.Combine(Path.GetDirectoryName(lastSelectPath), 
       Path.GetFileNameWithoutExtension(lastAppendFilepath));
if(!Directory.Exists(initalDirectory))
{
    if(MessageBox.Show("Folder does not exist", "The default folder does not exist, create it?", MessageBoxButtons.YesNo) == DialogResult.Yes)
        Directory.CreateDirectory(initalDirectory);
}
VistaFolderBrowserDialog dialog = new VistaFolderBrowserDialog();
dialog.Description = "Select Export Folder:";
dialog.ShowNewFolderButton = true;
dialog.SelectedPath = initalDirectory;

请注意,Directory.CreateDirectory(initalDirectory)引发异常是有原因的。例如,您尝试创建一个目录,其中您没有创建目录的权限。您可能希望将这两行包装在 try-catch 块中,并适当地处理任何错误。