如果我指定OpenFileDialog.AutoUpgradeEnabled = true,我的程序仍会显示旧的XP风格的对话框。知道为什么会这样吗?这是在我在Main()
中启用主题后[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(new Primary());
}
这是我的对话框代码:
private void OpenProgramFile()
{
OpenFileDialog programFileDialog = new OpenFileDialog();
programFileDialog.Filter = "Program files (*.exe;*.lnk)|*.exe|All files (*.*)|*.*";
programFileDialog.FilterIndex = 0;
programFileDialog.Title = "Select program file";
programFileDialog.AutoUpgradeEnabled = true;
programFileDialog.ShowHelp = true;
DialogResult fileResult = programFileDialog.ShowDialog();
if (fileResult != DialogResult.OK)
return false;
programFileDialog.Dispose();
}
那么为什么AutoUpgradeEnabled不起作用?
答案 0 :(得分:3)
避免设置programFileDialog.ShowHelp=true
。 ShowHelp
属性与Vista / 7文件对话框UI不兼容。打开文件对话框仍会显示问号帮助图标。
答案 1 :(得分:0)
如果要使用Windows Vista或Windows 7样式对话框,则应使用Microsoft Windows API代码包:http://code.msdn.microsoft.com/WindowsAPICodePack。这包括所有Windows 7样式对话框。