OpenFileDialog對話框的Filter屬性說明:
首先說明一個示例,分析一下Filter屬性的構成:“ Excel文件|*.xls ”,前面的“Excel文件”成為標簽,是一個可讀的字符串,可以自定定義,“|*.xls”是篩選器,表示篩選文件夾中后綴名為.xls的文件,“*”表示匹配Excel文件名稱的字符串。
OK,下面說說我們經常要用到的幾種情況:
1. Filter是null或Empty,表示顯示所有文件,並總會顯示文件夾
2. 需要篩選特定的文件,設置Filter屬性為“標簽|*.后綴”,按照這個格式設置,標簽可以自定義,是字符串即可,后綴表示你需要篩選的文件后綴,例如“.txt、.doc”等
3. 需要篩選多種文件,比方說需要篩選圖片文件,但是圖片文件的后綴有幾種,例如jpg、png、gif等,當需要同時篩選這些文件,設置Filter屬性為“標簽|*.jpg;*.png;*.gif”,注意:只是在篩選器中多添加了幾個后綴,不同后綴之間使用分號隔開
4. 當需要篩選多種文件,但是不同時將它們全部列出來,只有用戶分別通過下拉列表選擇需要的文件類型時,才進行篩選。這種情況下只需要多設置幾個篩選器即可,filter屬性設置如下:“標簽1|*.jpg|標簽2|.png|標簽3|.gif”。注意:不同的篩選器之間使用“|”分隔即可。
Filter屬性類似與正則表達式,試用*表示匹配文件名的字符,使用“.后綴”匹配文件的后綴名,通過連接后綴(試用;號將需要的后綴分開)表示同時篩選所有的符合后綴的文件,通過“|”連接不同的篩選器表示通過用戶選擇后綴名稱來進行文件篩選
OpenFileDialog openFile=new OpenFileDialog();
openFile.Filter="(*.jpg,*.png,*.jpeg,*.bmp,*.gif)|*.jgp;*.png;*.jpeg;*.bmp;*.gif|All files(*.*)|*.*";