Nhiều phần mở rộng tệp trong OpenFileDialog


127

Làm cách nào tôi có thể sử dụng nhiều phần mở rộng tệp trong một nhóm bằng cách sử dụng OpenFileDialog? Tôi có Filter = "BMP|*.bmp|GIF|*.gif|JPG|*.jpg|PNG|*.png|TIFF|*.tiff" và tôi muốn tạo các nhóm để JPG là * .jpg và * .jpeg, TIFF là * .tif và * .tiff và 'Tất cả các loại đồ họa'? Làm thế nào tôi có thể làm điều đó?

Câu trả lời:


233

Hãy thử :

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

Sau đó thực hiện một vòng sao chép / dán khác của tất cả các tiện ích mở rộng (được nối cùng với ;như trên) cho "Tất cả các loại đồ họa":

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

7
Tôi sẽ đề nghị đặt tùy chọn "TẤT CẢ" trước, vì đó dường như là mặc định.
John Grabanski

Đừng đặt |phần mô tả, nó sẽ bỏ qua phần đó.
CAD bloke

62

Đây là từ mẫu MSDN :

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

Vì vậy, cho trường hợp của bạn

openFileDialog1.Filter = "JPG (*.jpg,*.jpeg)|*.jpg;*.jpeg|TIFF (*.tif,*.tiff)|*.tif;*.tiff"

Giải pháp này là thanh lịch hơn, chính xác và mong muốn. Đây phải là giải pháp được bình chọn nhiều nhất.
Tiến sĩ Cogent

1

Dựa trên câu trả lời đầu tiên ở đây là các tùy chọn lựa chọn hình ảnh hoàn chỉnh:

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";
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.