我们可以使用以下代码来了解Windows窗体中系统语言何时发生更改 - Form.InputLanguageChanged:
string _language = "";
InputLanguageChanged += new InputLanguageChangedEventHandler( (sender, e) =>
{
language = InputLanguage.CurrentInputLanguage.LayoutName;
});
Run Code Online (Sandbox Code Playgroud)
什么是WPF相当于Form.InputLanguageChanged?
Moe*_*ini 11
您可以使用以下代码检测WPF中的键盘语言更改
string language = "";
System.Windows.Input.InputLanguageManager.Current.InputLanguageChanged +=
new InputLanguageEventHandler((sender, e) =>
{
language = e.NewLanguage.DisplayName;
});
Run Code Online (Sandbox Code Playgroud)
注意:不需要检测系统UI语言更改,因为它需要注销/登录,这反过来将强制所有应用程序重新启动(检查Hans Passant关于如何在运行时检测语言更改的注释?(C#)