加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 具有许多扩展名的OpenFileDialog

发布时间:2020-12-15 04:37:36 所属栏目:百科 来源:网络整理
导读:我需要一个1000个文件类型的打开文件对话框(* .000 * .999). 但是将它添加到过滤器中,对话框在选择文件类型时变得非常慢.有什么办法可以加快速度吗? string text; for (int i = 0; i 最佳答案 如果您坚持使用这些扩展,我可以看到2种可能的解决方案.要么接受

我需要一个1000个文件类型的打开文件对话框(* .000 – * .999).
但是将它添加到过滤器中,对话框在选择文件类型时变得非常慢.有什么办法可以加快速度吗?

string text; 
for (int i = 0; i <= 999; i++)
{
    text.Append("*." + i.ToString("000") + "; ");
}

string textWithoutLastSemicolumn = text.ToString().Substring(0,text.ToString().Length - 2);
dialog.Filter = "Files (" + textWithoutLastSemicolumn + ")|" + textWithoutLastSemicolumn;
最佳答案
如果您坚持使用这些扩展,我可以看到2种可能的解决方案.要么接受这个相当快,但不是100%正确的解决方案:

ofd.Filter = "Supported extensions | *.0??;*.1??;*.2??;*.3??;*.4??;*.5??;*.6??;*.7??;*.8??;*.9??";

这将接受所有扩展,但也包括.0a1,.99y等值.如果您知道这些文件扩展名在您的情况下不会出现问题,那么这可能是一个不错的选择.

另一种解决方案可能是将您自己的OpenFileDialog实现,并支持将正则表达式作为过滤器.这将是性能和安全方面的最佳解决方案,但我不知道它会有多难.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读