Несколько типов в фильтре SaveFileDialog

31

В моем 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 Если я изменяю порядок фильтров, я всегда могу видеть только первый и последний.

  • 5
    Попробуйте убрать пробел после *.gif и других. Фильтр очень придирчив.
Теги:
savefiledialog

2 ответа

47
Лучший ответ

Удалите пробелы после типа файла:

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";
0

FilterIndex... DefaultExt используется только во время сохранения. Индекс 1 основан, поэтому, если вы хотите выбрать 2-е место, то:

dlg.FilterIndex = 2;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню