Extensions de fichiers multiples dans OpenFileDialog

127

Comment puis-je utiliser plusieurs extensions de fichier au sein d'un groupe en utilisant OpenFileDialog? J'ai Filter = "BMP|*.bmp|GIF|*.gif|JPG|*.jpg|PNG|*.png|TIFF|*.tiff" et je veux créer des groupes donc JPG sont * .jpg et * .jpeg, TIFF sont * .tif et * .tiff et aussi «Tous les types graphiques»? Comment puis je faire ça?

Ichibann
la source

Réponses:

233

Essayez :

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

Ensuite, faites un autre tour de copier / coller de toutes les extensions (jointes ;comme ci-dessus) pour "Tous les types de graphiques":

Filter = "BMP|*.bmp|GIF|*.gif|JPG|*.jpg;*.jpeg|PNG|*.png|TIFF|*.tif;*.tiff|"
       + "All Graphics Types|*.bmp;*.jpg;*.jpeg;*.png;*.tif;*.tiff"
user541686
la source
7
Je suggérerais de mettre l'option "TOUS" en premier, car c'est ce qui semble être la valeur par défaut.
John Grabanski
Ne mettez pas un |dans la partie description, cela manquera de l'analyser.
CAD bloke le
62

Ceci provient de l' exemple MSDN :

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

Donc pour votre cas

openFileDialog1.Filter = "JPG (*.jpg,*.jpeg)|*.jpg;*.jpeg|TIFF (*.tif,*.tiff)|*.tif;*.tiff"
Saeed Amiri
la source
Cette solution est plus élégante, correcte et souhaitée. Cela devrait être la solution la plus votée.
Dr.Cogent
1

Basé sur la première réponse, voici les options complètes de sélection d'image:

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
la source