2017-04-02 8 views
1

私は3つのユーザー入力用のテキストボックスを持っていますが、テキストボックスごとに(キーボードレイアウトを手動で変更する必要なしに)テキストを入力する際に​​別のキーボードレイアウトを使用したいと思います。C#別のテキストボックスで異なるキーボードレイアウトを使用しますか?

テキストボックス1では、私が書いている間に私の普通の(スウェーデン語)キーボードレイアウトを使用したいと思います。 2番目は、ひらがなのレイアウトをしたいです。そして3番目にもカタカナのレイアウトをしたいと思います。

できますか?

今のところ、私は手動でキーボードのレイアウトをWindowskey + Space(これはすべてのキーボードレイアウトを繰り返します)で変更する必要があります。

+1

私は、このリンクが見つかりました:http://stackoverflow.com/questions/24080477/how-i-can-をchange-language-textbox-in-wpf私はそこの答えは助けてくれるはずだと思うが、まだ自分自身でテストしていない。 – FCin

答えて

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?

関連する問題