C# Не отображать расширения фильтра в OpenFileDialog

У меня есть несколько расширений в свойстве Filter OpenFileDialog. Можно ли скрыть расширения и показать только описание?

Образец:

dialog.Filter = "Image files|*.bmp;*.jpg; many image file extensions here"

Я хочу показать только текст: "Файлы изображений" в поле со списком типов файлов, потому что строка расширения очень длинная. Это возможно?

4 ответа

Решение

Это должно работать:

    dialog.Filter = "All Supported Audio | *.mp3; *.wma | MP3s | *.mp3 | WMAs | *.wma";
    dialog.AutoUpgradeEnabled = false; //using FileDialog.AutoUpgradeEnabled = false it will display the old XP sytle dialog box, which then displays correctly
    dialog.ShowDialog();

Это

dialog.Filter = "Image files (*.bmp)|*.bmp;*.jpg"

будет отображать только "Файлы изображений (*.bmp)" в поле со списком, в то же время показывая файлы со всеми указанными расширениями.

Или вы могли бы сделать

dialog.Filter = "Image files (*.bmp;...)|*.bmp;*.jpg"

чтобы указать, что он ищет файлы с расширением bmp и некоторыми другими расширениями.

Это может зависеть от ОС. Я тестировал с Windows 7.

Он должен работать точно так, как вы написали в своем вопросе:

dialog.Filter = "Image files|*.bmp;*.jpeg;*.jpg;*.png;*.gif"

Вы знаете, это очень просто. Смотрите следующий фрагмент кода. Это будет работать отлично. Вы можете определить больше типов файлов таким образом.

OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "JPG Files(*.jpg)|*.jpg|PNG Files(*.png)|*.png|BMP Files(*.bmp)|*.bmp|GIF Files(*.gif)|*.gif|TIFF Files(*.tiff)|*.tiff|All Files(*.*)|*.*";

Есть две части в Filter имущество. "Файлы JPG (.jpg) |.jpg" означает, что в раскрывающемся списке выбора типов файлов будет отображаться "JPG Files(*.jpg)" и фильтр произойдет против следующей части символа трубы, т.е. *.jpg,

Примечание: Никогда не используйте пробел после *.jpg или это любой другой тип файла. Если используется, он не может отфильтровать желаемый тип файла.

,

Другие вопросы по тегам