我知道這是一個在這裏和其他博客中討論得非常多的話題,但沒有一種技術可以幫助我。在C#winform的文本框中使用另一種語言
我要輸入馬拉雅拉姆語在文本框中。我迄今爲止做到了這一點。我已經安裝了一個字體'AnjaliOldLipi'。我可以在記事本中輸入Malayalam。但是我不能在Winform應用程序中做同樣的事情。它在文本框中顯示爲英文。
我試了下面的代碼,沒有結果。
private void richTextBox_test_Leave(object sender, EventArgs e)
{
System.Globalization.CultureInfo TypeOfLanguage = new
System.Globalization.CultureInfo("en-us");
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(TypeOfLanguage);
}
private void richTextBox_test_Enter(object sender, EventArgs e)
{
MessageBox.Show("textbox ebntereed");
System.Globalization.CultureInfo TypeOfLanguage = new System.Globalization.CultureInfo("ms-MY");
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(TypeOfLanguage);
richTextBox_test.Font = new Font("AnjaliOldLipi", 12);
}
然後我試了下面的代碼。當我輸入文本框時,現在默認的鍵盤正在改變(我可以在我的任務欄上看到它)。仍然在打字時,文字出現在英文中。我需要按'Ctrl + Shift'來寫'馬拉雅拉姆語'。我不知道爲什麼,但我需要在不用鍵盤按鈕的情況下寫入'馬拉雅拉姆語'。
我有也試過設置InputLanguage.CurrentInputLanguage = Malayalam; – Foreever
我知道您的計算機(鍵盤)的區域設置已設置爲英語(每次按一個鍵都會顯示一個西方字符)。如果是這種情況,顯示你想要的角色的最佳選擇是「即時替換」。也就是說,與richTextBox TextChanged事件相關聯的函數將使用所需字符替換每個輸入字符(例如,存儲在字典中)。 – varocarbas
@varocarbas我喜歡你的想法,但我認爲這個想法很難實現像馬拉雅拉姆這樣的語言。 – Foreever