Múltiples extensiones de archivo en OpenFileDialog

127

¿Cómo puedo usar múltiples extensiones de archivo dentro de un grupo usando OpenFileDialog? Tengo Filter = "BMP|*.bmp|GIF|*.gif|JPG|*.jpg|PNG|*.png|TIFF|*.tiff" y quiero crear grupos, así que JPG son * .jpg y * .jpeg, TIFF son * .tif y * .tiff y también 'Todos los tipos gráficos'. ¿Cómo puedo hacer eso?

Ichibann
fuente

Respuestas:

233

Prueba :

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

Luego, haga otra ronda de copiar / pegar de todas las extensiones (unidas con las de ;arriba) para "Todos los tipos de gráficos":

Filter = "BMP|*.bmp|GIF|*.gif|JPG|*.jpg;*.jpeg|PNG|*.png|TIFF|*.tif;*.tiff|"
       + "All Graphics Types|*.bmp;*.jpg;*.jpeg;*.png;*.tif;*.tiff"
usuario541686
fuente
77
Sugeriría poner primero la opción "TODOS", ya que eso parece ser el predeterminado.
John Grabanski
No ponga un |en la parte de descripción, lo analizará erróneamente.
Bloke CAD
62

Esto es de muestra de MSDN :

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

Entonces para tu caso

openFileDialog1.Filter = "JPG (*.jpg,*.jpeg)|*.jpg;*.jpeg|TIFF (*.tif,*.tiff)|*.tif;*.tiff"
Saeed Amiri
fuente
Esta solución es más elegante, correcta y deseada. Esta debería ser la solución más votada.
Dr. Cogent
1

Basado en la primera respuesta aquí están las opciones completas de selección de imágenes:

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
fuente