繁体   English   中英

Windows XP中的microsoft.win32.savefiledialog问题

[英]microsoft.win32.savefiledialog issue in windows xp

我正在使用microsoft.win32.savefiledialog将文件保存在文件夹中。 仅在Windows XP中 ,将文件保存到文件夹(例如abc)后,我无法删除abc文件夹。 错误消息显示说另一个进程正在使用它。 似乎句柄仍保留在所选文件夹中。 请给我一个解决方案。

以下是我的保存文件对话框代码:

SaveFileDialog fileDialog = new SaveFileDialog();

fileDialog.DefaultExt = !string.IsNullOrEmpty(this.DefaultExtension) ? this.DefaultExtension : "*.*";
fileDialog.Filter = !string.IsNullOrEmpty(Filter) ? Filter : "All Files|*.*";
fileDialog.FileName = !string.IsNullOrEmpty(this.FileName) ? this.FileName : string.Empty;
fileDialog.InitialDirectory = !string.IsNullOrEmpty(this.DefaultPath) ? this.DefaultPath : string.Empty;

if (fileDialog.ShowDialog().Value == true)
{
    fileName = fileDialog.FileName;
}
else
{
    fileName = string.Empty;
}            

return fileName;

编辑:

当我从文件对话框窗口中选择一个文件夹时,我也尝试了很多,这对于System.Windows.Forms也是很常见的。 之后无需执行任何操作,只需选择一个文件夹形式的“保存文件”对话框即可。 该文件夹无法删除。

这是完全正常的。 打开目录对象的不是另一个进程,而是您的进程。 您的代码使该目录成为进程的默认工作目录。 您可以从Environment.CurrentDirectory属性中看到一些内容。

SaveFileDialog.RestoreDirectory属性设置为true可以避免这种情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM