В моем 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 Если я изменяю порядок фильтров, я всегда могу видеть только первый и последний.
Удалите пробелы после типа файла:
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";
FilterIndex... DefaultExt используется только во время сохранения. Индекс 1 основан, поэтому, если вы хотите выбрать 2-е место, то:
dlg.FilterIndex = 2;
*.gif
и других. Фильтр очень придирчив.