c# - 更改 InputLanguage 有什么作用?

标签 c# .net winforms

我正在审查表单的一些代码,并看到以下内容:

void SomeTextBox_Enter(object sender, EventArgs e)
{
    InputLanguage.CurrentInputLanguage = GetLocalLanguage(DataModel.Country);
    SomeTextBox.ImeMode = ImeMode.On;
}

其中 GetLocalLanguage() 通过 InputLanguage.InstalledInputLanguages 并返回特定国家/地区的语言(如果适用)。

这段代码的目的是什么?我们为什么要更改输入语言?

最佳答案

输入语言元素只是所有输入语言数据的容器。 有一个名为“CurrentInputLanguage”的子项,可以设置和覆盖表单自己的语言(在资源中定义)。

在我所有的测试中,我得出的结论是所有更改都被忽略了。

  • 键盘输入没有改变。 key 仍然相同。
  • 格式不变。数字和解析值不会改变格式。

我假设这个值应该是只读的。

关于c# - 更改 InputLanguage 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33529167/

相关文章:

c# - CefSharp - 无法加载文件或程序集 'CefSharp.Core.dll' 或其依赖项之一

c# - 需要UAC protected 资源的完整列表才能以标准用户身份运行我的应用程序(未提升)

c# - 将事件GotFocus分配给WPF应用程序中的所有文本框

c# - Picturebox 中的可移动 FrameControl 无法按预期工作

winforms - Windows 窗体字体问题第 1 部分

c# - 在 IValidatableObject 上设置 ValidationContext 的 Items 集合?

将对象序列化到文件时的 C# 最佳实践

c# - Umbraco - 以编程方式通过 ID 获取节点

c# - 无法将 HBM​​ 映射到多对多的 FluentNHibernate 映射

c# - 如何获取记事本文件保存位置