我使用此代码保存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);
}
答案 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。