SaveDialog文件存在

本文关键字:存在 文件 SaveDialog | 更新日期: 2023-09-27 17:57:58

我使用此代码来保存avi文件。当我创建一个新文件时,这是没有问题的。但是,当我选择一个现有的文件时,它不起作用,并且saveFileDialog仍然显示。

我已经设置了saveDialog.OverwritePromptsaveDialog.CheckFileExists为true,但这不好。如果我设置saveDialog.OverwritePrompt为false,它会运行,但它确实显示覆盖警告

我该如何解决这个问题?

SaveFileDialog saveDialog = new SaveFileDialog();
saveDialog.OverwritePrompt = true;
DialogResult dgResult = saveDialog.ShowDialog();
if (dgResult == DialogResult.OK)
{
     exportAvi(saveDialog.FileName);
}

SaveDialog文件存在

此代码有效-如果我选择覆盖现有文件,它会显示提示:

    SaveFileDialog saveDialog = new SaveFileDialog();
    saveDialog.OverwritePrompt = true;
    DialogResult dgResult = saveDialog.ShowDialog();

    if (dgResult == DialogResult.OK)
    {
        //exportAvi(saveDialog.FileName);
    }

[窗口标题]确认另存为

【内容】XYZ.txt已存在。是否要替换它?

[是][否]

您的问题在exportAvi()函数中。您不允许覆盖该文件。我看不到你的exportAvi()函数,所以我不能告诉你到底出了什么问题。如果你发布exportAvi()函数,我可以进一步帮助你。

saveDialog.OverwritePrompt-仅当用户想要覆盖时才会提示用户。它不会覆盖文件。您必须在代码中处理此问题。

saveDialog.CheckFileExists-仅检查文件是否存在。

检查导出功能,并确保将覆盖参数设置为True。