我用一个按钮创建一个简单的窗口应用程序

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        MessageBox.Show(CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol);
    }
}



第一次单击“按钮1”时,它显示为“ $”
我打开控制面板>区域和语言,将货币符号从“ $”更改为“€”
再次单击“按钮1”,它也显示“ $” ==>我的预期结果是“€”


似乎CultureInfo.CurrentCulture在运行时不会更改。谁能给我其他变量以获取当前窗口货币格式

最佳答案

首先运行:

CultureInfo.CurrentCulture.ClearCachedData();

然后执行您的消息框。

我很好奇您为什么需要文化信息的实时更新?我认为普通用户会在Windows中设置一次,然后加载其应用程序。

关于c# - CultureInfo.CurrentCulture在运行时不会更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18524779/

10-11 08:08