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

本文详细介绍了如何通过在打开文件选择对话框前清空CommonDialog.FileName属性来解决多选文件时出现的问题。通过设置特定的对话框属性,如允许多选、隐藏只读文件等,实现稳定、无错误的文件选择流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

实际问题所在是因为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属性清空,这样就不会报错了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值