如何获取SaveFileDialog的OverwritePrompt结果

时间:2014-03-25 08:59:23

标签: c# wpf

我需要获取一个值,指示文件是否已被覆盖,或者是否使用保存文件对话框中的新名称进行保存。这是我的代码

   var saveDialog = new SaveFileDialog
                           {
                             OverwritePrompt = true, 
                             RestoreDirectory = true
                           };

   if (saveDialog.ShowDialog() == true)
    {
      // it comes here if I save file with a unique name or if I select yes option from 
      // overwrite file propmt. I know I can check this with File.Exists() method. But saveDialog
      // object must contain some value that indicates that whether file is being overwritten or not. 
    } 

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

点击"否" SaveFileDialog将不会返回在覆盖提示中。如果单击“是”,或文件不存在,则会返回DialogResult.OK

您如何将DialogResult与真实比较?您的实际代码是什么?

哦,你正在使用WPF。好吧,我说的话仍然有效。但是,您不必使用OverwritePrompt。相反,您可以使用自己的对话框 - 您可以使用FileOk事件来显示您自己的对话框,并以您想要的任何方式处理其结果(包括将取消返回给SFD)。