VB CommonDialog控件选择多个文件,报"实时错误20477",解决方法

来源:互联网 发布:忽略的网络怎么恢复 编辑:程序博客网 时间:2024/06/05 15:53

如题,这个问题很蛋疼,初看代码很难发觉问题所在,调试的话也是的,选择少了文件不会报错,只选择一次也不报错,偏偏就在第二次的时候报错。让人很头疼。

实际问题所在是因为CommonDialog.FileName没有清空才导致的这个问题。

可以新建一个工程,放两个按钮,再放一个CommonDialog控件,两个按钮分别打开文件选择对话框,属性什么的都设置一样的,运行,单击按钮但是不选择文件,可以发现两次打开的目录是完全一样的。可是第一次打开后选择若干个文件,第二次再打开会发现打开的路径不同了,也会报错了,同时文件名那个框也莫名其妙的有值了。实际就是FileName属性捣的鬼。

解决方法如下:

    FileDialog.Flags = cdlOFNAllowMultiselect Or cdlOFNHideReadOnly Or cdlOFNExplorer    FileDialog.Filter = "所有文件(*.*)|*.*|XML格式文件 (*.xml)|*.xml"    FileDialog.MaxFileSize = 32766    FileDialog.Filename = ""    FileDialog.ShowOpen

在打开之前将CommonDialog的FileName属性清空,这样就不会报错了。

0 0
原创粉丝点击