C# 调用ShowDialog更改区域性(区域设置)

C# 调用ShowDialog更改区域性(区域设置),c#,dialog,culture,C#,Dialog,Culture,调用简单的.Net表单(FolderBrowserDialog)时,在调用ShowDialog()后,区域性会在未经通知的情况下发生更改: 具体来说:虽然str1显示我的当前语言环境(非美国)-str2和str3显示“en-US”语言环境。这是在主线程中,我没有发现任何其他可能影响它的内容 很高兴听到您的想法:)使用SysInternals的AutoRuns实用程序禁用导致此问题的shell扩展。它实际上是我最近安装的一个shell扩展(一个云同步应用程序)。非常感谢! string Choos

调用简单的.Net表单(FolderBrowserDialog)时,在调用ShowDialog()后,区域性会在未经通知的情况下发生更改:

具体来说:虽然str1显示我的当前语言环境(非美国)-str2和str3显示“en-US”语言环境。这是在主线程中,我没有发现任何其他可能影响它的内容


很高兴听到您的想法:)

使用SysInternals的AutoRuns实用程序禁用导致此问题的shell扩展。它实际上是我最近安装的一个shell扩展(一个云同步应用程序)。非常感谢!
string ChooseFolder(ref string sTitle, string sCurDir)
{
    string folderPath = sCurDir;

    FolderBrowserDialog folderBrowserDialog1 = new FolderBrowserDialog();

    //folderBrowserDialog1.RootFolder = Environment.SpecialFolder.MyComputer;
    //folderBrowserDialog1.SelectedPath = sCurDir;
    //folderBrowserDialog1.Description = sTitle;

    string str1 = System.Threading.Thread.CurrentThread.CurrentCulture.Name;
    string str2;

    if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
    {
        str2 = System.Threading.Thread.CurrentThread.CurrentCulture.Name;
        folderPath = folderBrowserDialog1.SelectedPath;
    }

    string str3 = System.Threading.Thread.CurrentThread.CurrentCulture.Name;
    return folderPath;
}