VB CommonDialog控件选择多个文件,报"实时错误20477",解决方法
2014-12-23 11:55
239 查看
如题,这个问题很蛋疼,初看代码很难发觉问题所在,调试的话也是的,选择少了文件不会报错,只选择一次也不报错,偏偏就在第二次的时候报错。让人很头疼。
实际问题所在是因为CommonDialog.FileName没有清空才导致的这个问题。
可以新建一个工程,放两个按钮,再放一个CommonDialog控件,两个按钮分别打开文件选择对话框,属性什么的都设置一样的,运行,单击按钮但是不选择文件,可以发现两次打开的目录是完全一样的。可是第一次打开后选择若干个文件,第二次再打开会发现打开的路径不同了,也会报错了,同时文件名那个框也莫名其妙的有值了。实际就是FileName属性捣的鬼。
解决方法如下:
在打开之前将CommonDialog的FileName属性清空,这样就不会报错了。
实际问题所在是因为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属性清空,这样就不会报错了。
相关文章推荐
- "控件必须放在具有 runat=server 的窗体标记内"错误的解决方法
- mono 3.4.0 make install的时候出现"找不到 Microsoft.Portable.Common.targets 文件”的错误提示解决方法
- 控件必须放在具有 runat=server 的窗体标记内"错误的解决方法
- "控件必须放在具有 runat=server 的窗体标记内"错误的解决方法
- Access文件(.mdb)导入SQL Server时"错误代码为 0xC0202009"的解决方法
- "HTTP 错误 403.1 - 禁止访问:执行访问被拒绝"解决方法
- "命名空间"system.web"中不存在类型或命名空间名称security"错误解决方法
- "Cannot forward after response has been committed "错误的正确解决方法
- 如何解决FormView中实现DropDownList连动选择时出现 "Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用" 的错误
- "控件必须放在具有 runat=server 的窗体标记内"错误的解决方法
- "ORA-22992: 无法使用从远程表选择的 LOB 定位器"解决方法
- DropDownList连动选择时出现 "Eval()、XPath() 和 Bind() 这类数据绑定方法只能在数据绑定控件的上下文中使用" 的错误
- "未能找到任何适合于指定的区域性或非特定区域性的资源"错误的解决方法
- "控件必须放在具有 runat=server 的窗体标记内"错误的解决方法
- "服务器没有设置事务处理"错误的解决方法
- /"控件必须放在具有 runat=server 的窗体标记内/"错误的解决方法
- VS2008安装"deffactory.dat"文件错误解决方法
- "域控制器安全策略"打开错误解决方法 推荐
- "控件必须放在具有 runat=server 的窗体标记内"的解决方法
- Access文件(.mdb)导入SQL Server时"错误代码为 0xC0202009"的解决方法