.Net OpenFileDialog Filter识别异常

在工做中碰到了一个问题就是使用.Net2.0版本时发现系统自带的OpenFileDialog的Filter过滤器设置完成后,对于快捷方式没法过滤掉会被识别读取。c#

例如:管理办法 A1.pdf - 快捷方式.lnkspa

using (OpenFileDialog openFileDlg = new OpenFileDialog())
{
  openFileDlg.Filter = “shp|*.shp”;
  if (openFileDlg.ShowDialog()!= DialogResult.OK)
  {
     return false;
  }
  dstPath = openFileDlg.FileName;
}

执行上述代码在对话框中将会出现 管理办法 A1.pdf - 快捷方式.lnk 该快捷方式,而且能够做为文件被识别执行后续的过程,在code

openFileDlg.FileName

的返回值倒是 管理办法 A1.pdf,若是没有作二次判断,且在解析shp文件后缀名判断或异常处理将会引发宕机。开发

没有很好的处理方法。class

能够尝试pdf

一、进行文件的二次判断方法

openFileDlg.FileName

判断文件名的后缀名是否为咱们须要的文件异常

二、设置文件获取后的文件名保持原有的快捷方式连接,经过判断后缀名*.lnk作二次判断异常处理

OpenFileDial.DereferenceLinks = false;

这种方法将会排除shp文件的快捷方式,由于没有好的办法只能这样文件


附:

对于其余对话框也将会出现一样的问题,处理方式本身想办法。若是有解决办法欢迎回帖,谢绝更换开发库

相关文章
相关标签/搜索