C # Не отображать расширения фильтра в OpenFileDialog - PullRequest
3 голосов
/ 10 января 2012

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

Пример:

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

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

Ответы [ 4 ]

2 голосов
/ 10 января 2012

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

    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();
2 голосов
/ 10 января 2012

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

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

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

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

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

0 голосов
/ 03 октября 2015

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

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

.

0 голосов
/ 10 января 2012

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

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