SaveDialog文件存在吗?

时间:2013-02-06 04:43:05

标签: c#

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

我设置saveDialog.OverwritePrompt并且saveDialog.CheckFileExists为真,但不行。如果我设置saveDialog.OverwritePrompt为false则会运行,但它会显示覆盖警告

我该如何解决这个问题?

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

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

2 个答案:

答案 0 :(得分:1)

此代码有效 - 如果我选择过度使用现有文件,则会向我显示提示:

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


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

[窗口标题] 确认另存为

[内容] XYZ.txt已存在。 你想替换它吗?

[是] [否]

答案 1 :(得分:0)

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

  

saveDialog.OverwritePrompt - 只会提示用户是否要覆盖。它不会覆盖该文件。您必须在代码中处理此问题。

     

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

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