0

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

我已经设置saveDialog.OverwritePrompt并且saveDialog.CheckFileExists是真的,但它是不正常的。如果我设置saveDialog.OverwritePrompt为假,它会运行,但会显示覆盖警告

我该如何解决这个问题?

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

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

2 回答 2

1

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

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


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

[窗口标题] 确认另存为

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

[是] [否]

于 2013-02-06T04:58:00.453 回答
0

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

saveDialog.OverwritePrompt - 只会提示用户是否要覆盖。它不会覆盖文件。你必须在你的代码中处理这个。

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

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

于 2013-02-06T06:14:22.103 回答