天天看點

C#的Winform中OpenFileDialog對話框Filter屬性設定包含特定字元,使用正規表達式

OpenFileDialog對話框的Filter屬性說明:

         首先觀察Filter屬性的組成部分:“Word檔案|*.doc ”,前面的“Word檔案”成為标簽,是一個可讀的字元串,可以自定定義,“|*.doc”是篩選器,表示篩選檔案夾中字尾名為.doc的檔案,“*”表示比對Word檔案名稱的字元串。

         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屬性類似與正規表達式,試用*表示比對檔案名的字元,使用“.字尾”比對檔案的字尾名,通過連接配接字尾(試用;号将需要的字尾分開)表示同時篩選所有的符合字尾的檔案,通過“|”連接配接不同的篩選器表示通過使用者選擇字尾名稱來進行檔案篩選.

比如你要篩選word檔案,字尾為".doc",如果篩選出的.doc類型的word檔案較多,使用正規表達式能很快找到你想要的word檔案

1 OpenFD.Filter ="word|*.docx";
2 
3 OpenFD.Filter ="word|*開題報告*.docx";      

第1行中  |   後的   *.docx  表示比對全部的以  .docx結尾的檔案,

第3行中  |   後的   *開題報告*.docx  表示比對檔案名稱中包含 “ 開題報告”的并且以  .docx  結尾的檔案