我遇到openFileDialog问题(默认的openFileDialog):
我为OpenFileDialog定义了一个过滤器(LogFiles|*.log)
。工作正常,用户只能在文件夹中选择* .log文件。
但是,如果这些* .log文件位于zip存档中,因为zip扩展本身被识别为Windows的文件夹(CompressedFolder)和OpenFileDialog窗口左侧Treeview中显示的zip文件,用户可以选择。*档案中的日志文件(我不希望这样!)
返回的文件名par OpenFileDialog在这种情况下是临时解压缩文件的文件名,因此似乎无法测试所选文件是否为zipEntry。
我只看到2个解决方案来解决我的问题:
1°)访问注册表,备份并删除HKEY_CLASSES_ROOT.zip以便以后恢复(非常糟糕的解决方案!)
2°)由于OpenFileDialog是一个密封类,实现我自己的OpenFileDialog,它阻止在zip中显示* .log文件
还有其他解决方案吗?
感谢。
答案 0 :(得分:1)
我找到了OpenFileDialog.AutoUpgradeEnabled属性设置为false的解决方案。
使用此设置,不会显示OpenFileDialog的左侧树视图(仅限快捷方式),如果过滤器不允许其扩展名,则无法再显示存档内容: - )