43

在我的 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 类型的文件 如果我更改过滤器的顺序,我总是只能看到第一个和最后一个。

4

2 回答 2

61

删除文件类型后的空格:

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";
于 2011-04-14T14:22:58.110 回答
2

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

dlg.FilterIndex = 2;
于 2017-02-09T08:16:26.297 回答