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

WindowsVistaまたはWindows7スタイルのダイアログが必要な場合は、Microsoft Windows APIコードパック(http://code.msdn.microsoft.com/WindowsAPICodePack )を使用する必要があります。これには、すべてのWindows7スタイルダイアログが含まれます。

于 2010-05-31T06:13:36.633 に答える