AddExtension属性如何在C#2.0中工作?

时间:2008-12-23 15:02:57

标签: c# c#-2.0

我想打开一个保存文件对话框,让用户输入一个文件名,如果他们忘记了.csv扩展名,请加上它。

似乎SaveFileDialog AddExtension属性可以工作,但它不会。我甚至将DefaultExt属性设置为.csv,但仍然没有任何内容。我的文件保存得很好,但没有扩展,所以用户不能只是双击文件并在Excel中打开它。

我必须遗漏一些明显的东西。这就是我所拥有的

        SaveFileDialog sfd = new SaveFileDialog();
        sfd.DefaultExt = "*.csv";
        sfd.Filter = "Comma Separated(*.csv)|*.*";
        if (sfd.ShowDialog() == DialogResult.OK)
        {
            // Do my file saving
        }

2 个答案:

答案 0 :(得分:13)

尝试仅使用"csv" DefaultExt - 同样,您应该using这个(IDisposable}:

        using (SaveFileDialog sfd = new SaveFileDialog())
        {
            sfd.AddExtension = true;
            sfd.DefaultExt = "csv";
            sfd.Filter = "Comma Separated(*.csv)|*.*";
            if (sfd.ShowDialog() == DialogResult.OK)
            {
                // Do my file saving
            }
        }

答案 1 :(得分:0)

它没有在对话框中添加扩展名,尽管它应该。相反,当对话框关闭时,它会对sfd.filename的扩展进行处理。