Множественные расширения файлов в OpenFileDialog

127

Как я могу использовать несколько расширений файлов в одной группе OpenFileDialog? У меня есть Filter = "BMP|*.bmp|GIF|*.gif|JPG|*.jpg|PNG|*.png|TIFF|*.tiff" и я хочу создать группы, так что JPG - это * .jpg и * .jpeg, TIFF - это * .tif и * .tiff, а также «Все графические типы»? Как я могу это сделать?

Ichibann
источник

Ответы:

233

Попробуйте :

Filter = "BMP|*.bmp|GIF|*.gif|JPG|*.jpg;*.jpeg|PNG|*.png|TIFF|*.tif;*.tiff"

Затем выполните еще один раунд копирования / вставки всех расширений (соединенных вместе, ;как указано выше) для «Все типы графики»:

Filter = "BMP|*.bmp|GIF|*.gif|JPG|*.jpg;*.jpeg|PNG|*.png|TIFF|*.tif;*.tiff|"
       + "All Graphics Types|*.bmp;*.jpg;*.jpeg;*.png;*.tif;*.tiff"
user541686
источник
7
Я бы посоветовал сначала поставить опцию «ВСЕ», поскольку она, по-видимому, используется по умолчанию.
John Grabanski
Не помещайте |в описание часть, это будет неправильно проанализировать его.
CAD-парень
62

Это из образца MSDN :

(*.bmp, *.jpg)|*.bmp;*.jpg

Так что для вашего случая

openFileDialog1.Filter = "JPG (*.jpg,*.jpeg)|*.jpg;*.jpeg|TIFF (*.tif,*.tiff)|*.tif;*.tiff"
Саид Амири
источник
Это решение более элегантное, правильное и желанное. Это должно быть наиболее популярное решение.
Доктор
1

Основываясь на первом ответе, вот полные варианты выбора изображения:

Filter = @"|All Image Files|*.BMP;*.bmp;*.JPG;*.JPEG*.jpg;*.jpeg;*.PNG;*.png;*.GIF;*.gif;*.tif;*.tiff;*.ico;*.ICO
           |PNG|*.PNG;*.png
           |JPEG|*.JPG;*.JPEG*.jpg;*.jpeg
           |Bitmap(.BMP,.bmp)|*.BMP;*.bmp                                    
           |GIF|*.GIF;*.gif
           |TIF|*.tif;*.tiff
           |ICO|*.ico;*.ICO";
JharPaat
источник