今天碰到个难题,项目中用到一个 OpenFileDialog (System.Windows.Forms) 扩展控件(Dialog 右侧带图片预览),在XP下运行没有问题,可在Vista下运行的时候,这个预览框便被 ListView 遮盖住,这可能是因为Vista将 ListView Fill 到 Dialog 的最右侧造成的。
经过一番周折,发现WinForms对话框类包含一个属性 AutoUpgradeEnabled,此属性默认为真,因此在 Windows Vista 运行下 FileDialog 实例自动升级到 Vista 的外观和行为。此属性设置为false ,可以让旧的 XP 对话框风格在 Windows Vista 下使用。还有一个非常重要的是 Vista 下需要安装 .NET 2.0 SP1 支持该属性。:)
MSDN上的描述: