我希望有三个用于用户输入的文本框,但是对于每个文本框,我希望在输入文本时使用不同的键盘布局(无需手动更改kayboard布局)。
在textxbox 1中,我想在写作时使用普通(瑞典语)键盘布局。在第二个我想有日本平假名布局。在第三部分,我也希望有日本片假名布局。
有可能吗?
现在我必须使用Windowskey + Space手动更改键盘布局(这会循环显示所有键盘布局)。
答案 0 :(得分:0)
希望这适合你:
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?