C#在不同的文本框中自动使用不同的键盘布局?

问题描述:

我想为用户输入三个文本框,但对于每个文本框,我希望在输入文本时使用不同的键盘布局(无需手动更改Kayboard布局)。C#在不同的文本框中自动使用不同的键盘布局?

在textxbox 1中,我希望在写入时使用我的普通(瑞典语)键盘布局。在第二个我想有日本平假名布局。而在第三,我想也有日本片假名布局。

可以吗?

因为它现在我必须手动更改键盘布局与Windowskey +空间(这循环所有键盘布局)。

+1

,我发现这个链接:http://stackoverflow.com/questions/24080477/how-i-can- wpf中的change-language-textbox我认为那里的答案应该有所帮助,但我还没有自己测试过。 – FCin

希望这对你的作品:

private void textBox1_Enter(object sender, EventArgs e) 
{ 
    // Get index of current Input Language 
    int currentLang = InputLanguage.InstalledInputLanguages.IndexOf(InputLanguage.CurrentInputLanguage); 
    // Calculate next Input Language 
    InputLanguage nextLang = ++currentLang == InputLanguage.InstalledInputLanguages.Count ? InputLanguage.InstalledInputLanguages[0] : InputLanguage.InstalledInputLanguages[currentLang]; 
    // Change current Language to the calculated: 
    ChangeInputLanguage(nextLang); 
} 

public void ChangeInputLanguage(InputLanguage InputLang) 
{ 
    // Check is this Language really installed. Raise exception to warn if it is not: 
    if (InputLanguage.InstalledInputLanguages.IndexOf(InputLang) == -1) 
      throw new ArgumentOutOfRangeException(); 
    // InputLAnguage changes here: 
    InputLanguage.CurrentInputLanguage = InputLang; 
} 

下面是引用链接 - Change Input Language programmatically?