我用一个按钮创建一个简单的窗口应用程序
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/