2017-04-02 76 views
1

我想爲用戶輸入三個文本框,但對於每個文本框,我希望在輸入文本時使用不同的鍵盤佈局(無需手動更改Kayboard佈局)。C#在不同的文本框中自動使用不同的鍵盤佈局?

在textxbox 1中,我希望在寫入時使用我的普通(瑞典語)鍵盤佈局。在第二個我想有日本平假名佈局。而在第三,我想也有日本片假名佈局。

可以嗎?

因爲它現在我必須手動更改鍵盤佈局與Windowskey +空間(這循環所有鍵盤佈局)。

+1

,我發現這個鏈接:http://stackoverflow.com/questions/24080477/how-i-can- wpf中的change-language-textbox我認爲那裏的答案應該有所幫助,但我還沒有自己測試過。 – 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?

相關問題