首先說明一個示例,分析一下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屬性相似與正則表達式,試用*表示匹配文件名的字符,使用「.後綴」匹配文件的後綴名,經過鏈接後綴(試用;號將須要的後綴分開)表示同時篩選全部的符合後綴的文件,經過「|」鏈接不一樣的篩選器表示經過用戶選擇後綴名稱來進行文件篩選正則表達式
private void btnupload_Click(object sender, EventArgs e) { using (OpenFileDialog open = new OpenFileDialog()) { open.Multiselect = false; open.Title = "打開文件"; open.Filter = "圖片|*.jpg;*.png;*.gif;*.jpeg;*.bmp"; if (open.ShowDialog() == DialogResult.OK) { } } }