C#SaveFileDialog

Efh*_*fhK 3 c# savefiledialog visual-studio visual-studio-2012

我正在使用savefiledialog来保存文件.现在我需要检查名称是否已存在.

如果存在,则用户需要有机会更改名称或覆盖现有文件.

我已经尝试了所有的东西并搜索了很多但是找不到解决方案,而我在技术上认为应该很容易.在if(File.Exists(Convert.ToString(infor)) == true)中必须进行检查.

SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = ".xlsx Files (*.xlsx)|*.xlsx";
if (sfd.ShowDialog() == DialogResult.OK)
{
    string path = Path.GetDirectoryName(sfd.FileName);
    string filename = Path.GetFileNameWithoutExtension(sfd.FileName);

    for (int i = 0; i < toSave.Count; i++)
    {
        FileInfo infor = new FileInfo(path + @"\" + filename + "_" + exportlist[i].name + ".xlsx");
        if (File.Exists(Convert.ToString(infor)) == true)
        {

        }
        toSave[i].SaveAs(infor);
        MessageBox.Show("Succesvol opgeslagen als: " + infor);
    }
}
Run Code Online (Sandbox Code Playgroud)

Iro*_*n84 5

只需使用以下OverwritePrompt属性SaveFileDialog:

SaveFileDialog sfd = new SaveFileDialog{ Filter = ".xlsx Files (*.xlsx)|*.xlsx",
                                         OverwritePrompt = true };
Run Code Online (Sandbox Code Playgroud)

OverwritePrompt可以在此处找到MSDN链接.


dar*_*ffo 4

这样做

SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = ".xlsx Files (*.xlsx)|*.xlsx";
sfd.OverwritePrompt = true;
Run Code Online (Sandbox Code Playgroud)

那应该可以为你完成工作