C#⽂件过滤器
⾸先说明⼀个⽰例,分析⼀下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)
{
正则匹配后缀后
}
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。