1

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

4

2 回答 2

4

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

于 2010-05-31T05:19:41.763 回答
0

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

于 2010-05-31T06:13:36.633 回答