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