当我的应用程序使用指定的文化运行时。不要关闭应用程序,用户更改系统的文化,例如:从“。”更改数字小数分隔符。至 ”,”。如何我的应用程序可以捕获此事件。感谢。
注意: C#2.0,Windows Form。
答案 0 :(得分:12)
您可以处理SystemEvents.UserPreferenceChanged
事件:
void SystemEvents.UserPreferenceChanged(object sender, UserPreferenceChangedEventArgs e)
{
// Regional settings have changed
if (e.Category == UserPreferenceCategory.Locale)
{
...
}
}
答案 1 :(得分:2)
如果要跟踪系统语言更改,那么您将拥有SystemEvents对象,其中包含您可以附加的UserPreferenceChanged事件。
样品:
Microsoft.Win32.SystemEvents.UserPreferenceChanged += new UserPreferenceChangedEventHandler(SystemEvents_UserPreferenceChanged);
如果您想跟踪输入语言的更改(例如在您选择语言时系统中的更改),则可以使用:System.Windows.Forms.InputLanguage。CurrentInputLanguage
样品:
string inputLanguage = System.Windows.Forms.InputLanguage.CurrentInputLanguage.LayoutName;