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屬性類似與Regex,試用*表示匹配檔案名稱的字元,使用“.尾碼”匹配檔案的尾碼名,通過串連尾碼(試用;號將需要的尾碼分開)表示同時篩選所有的符合尾碼的檔案,通過“|”串連不同的篩選器表示通過使用者選擇尾碼名稱來進行檔案篩選
部分代碼:
public void ExportPng(Boolean isTransparent) { String strName = GetPath("png"); if (strName != String.Empty) //當在儲存時,點擊取消時為空白 { m_mapControl.Map.OutputMapToPNG(strName, isTransparent); } else { MessageBox.Show("a"); } } private String GetPath(String strType) { String result = String.Empty; SaveFileDialog saveDislog = new SaveFileDialog(); saveDislog.Title = "儲存路徑"; saveDislog.Filter = String.Format("{0}格式(*.{0})|*.{0}", strType); if (saveDislog.ShowDialog() == DialogResult.OK) { result = saveDislog.FileName; } return result; }