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