OpenFileDialog.AutoUpgradeEnabled在Vista或7下不起作用?

问题描述 投票:0回答:2

如果我指定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不起作用?

c# .net windows-7 windows-vista openfiledialog
2个回答
3
投票

避免设置programFileDialog.ShowHelp=trueShowHelp属性与Vista / 7文件对话框UI不兼容。打开文件对话框仍将显示问号帮助图​​标。


0
投票

如果要使用Windows Vista或Windows 7样式对话框,则应使用Microsoft Windows API代码包:http://code.msdn.microsoft.com/WindowsAPICodePack。这包括所有Windows 7样式对话框。

© www.soinside.com 2019 - 2024. All rights reserved.