SaveFileDialog过滤器中的多个类型

时间:2011-04-14 14:18:21

标签: c# .net savefiledialog

在我的SaveFileDialog中,我在过滤器中有多种类型,但是当查看对话框时,如果我选择过滤器来查看目录中该类型的文件,我只能看到第一个和最后一个过滤器的文件。

    bool save;
    SaveFileDialog dlg = new SaveFileDialog();
    dlg.FileName = "*";
    dlg.DefaultExt = "bmp";
    dlg.ValidateNames = true;

    dlg.Filter = "Bitmap Image (.bmp)|*.bmp|Gif Image (.gif)|*.gif |JPEG Image (.jpeg)|*.jpeg |Png Image (.png)|*.png |Tiff Image (.tiff)|*.tiff |Wmf Image (.wmf)|*.wmf";
    save = (bool)dlg.ShowDialog();

    if (save)
    {
        SaveImage(dlg.FileName);
    }

我可以看到.bmp和.wmf类型的文件 如果我改变过滤器的顺序,我总是只能看到第一个和最后一个。

2 个答案:

答案 0 :(得分:55)

删除文件类型后的空格:

dlg.Filter = "Bitmap Image (.bmp)|*.bmp|Gif Image (.gif)|*.gif|JPEG Image (.jpeg)|*.jpeg|Png Image (.png)|*.png|Tiff Image (.tiff)|*.tiff|Wmf Image (.wmf)|*.wmf";

答案 1 :(得分:2)

FilterIndex ... DefaultExt仅在保存期间使用。 索引是从1开始的,所以如果你想选择第二个选项,那么:

dlg.FilterIndex = 2;