我需要在winform应用程序中显示打开的文件对话框。文件对话框的一个属性是autoupgradeenabled,我将其设置为true,它用于根据操作系统更新打开的文件对话框,比如如果应用程序运行在xp上,那么对话框就会显示不同,就像在wista或window 7中那样。
因此,当我将该属性作为真正的使用时,一旦在机器上出现了带有2.0 .net框架的xp,就无法打开打开的文件对话框。因此,我尝试了做这个错误,然后,它也不能在机器上打开与xp和2.0框架.
然后,我试着注释了整行代码,这意味着我从代码中删除了该属性,然后我尝试了,在带有2.0框架的xp机器中,它是很好的。因此,问题是,我无法理解为什么该属性设置为false或true而无法工作。因为通过设置该属性在所有os中都应该工作,所以所有的框架和对话框都应该根据os进行更改。如果没有,那么该财产的含义是什么?
发布于 2011-01-13 05:22:21
因为AutoUpgradeEnabled 属性直到.NET 2.0 SP1.才添加,所以它无法工作。
该属性的文档将受支持的版本列表为:
“.NET框架”:中转率 .NET框架客户端配置文件:版本4,3.5 SP1
在版本2.0 SP1之前,OpenFileDialog和SaveFileDialog是使用新的Windows风格的对话框自动显示的。使用AutoUpgradeEnabled属性选择退出的能力直到稍后才被添加。(MSDN参考)这并不是一个突破性的更改,因为该属性的默认设置在添加到以后的版本时仍然是"True“。
根据布兰登·特纳关于这一主题的博客文章,当您尝试在框架的早期版本上使用它时,您将得到一个MissingMethodException。因此,通过尝试设置属性(为True或False),会导致程序抛出异常。注释和删除该行允许一切正常工作,正如您所描述的。
https://stackoverflow.com/questions/4676887
复制相似问题