Várias extensões de arquivo no OpenFileDialog

127

Como posso usar várias extensões de arquivo em um grupo usando OpenFileDialog? Eu tenho Filter = "BMP|*.bmp|GIF|*.gif|JPG|*.jpg|PNG|*.png|TIFF|*.tiff" e quero criar grupos para que JPG sejam * .jpg e * .jpeg, TIFF sejam * .tif e * .tiff e também "Todos os tipos de gráficos"? Como eu posso fazer isso?

Ichibann
fonte

Respostas:

233

Tente :

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

Em seguida, faça outra rodada de copiar / colar todas as extensões (unidas ;como acima) para "Todos os 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"
user541686
fonte
7
Eu sugeriria colocar a opção "ALL" em primeiro lugar, pois é o que parece ser o padrão.
John Grabanski
Não coloque um |na parte de descrição, pois ele falhará na análise.
CAD bloke
62

Este é do exemplo do MSDN :

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

Então, para o seu caso

openFileDialog1.Filter = "JPG (*.jpg,*.jpeg)|*.jpg;*.jpeg|TIFF (*.tif,*.tiff)|*.tif;*.tiff"
Saeed Amiri
fonte
Esta solução é mais elegante, correta e desejada. Essa deve ser a solução mais votada.
Dr. Cogent
1

Com base na primeira resposta, aqui estão as opções completas de seleção de imagens:

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
fonte