如何将印度语IME模式设置为特定的TextBox?

时间:2016-05-08 09:17:03

标签: c# winforms translation ime

我正在为政府开发申请,用户将用英语输入文本,翻译的文本将出现在另一个文本框中。

翻译我使用的文字Microsoft Indic Language Input Tool

所以,当我在一个文本框中输入文本时,我想要将文本翻译(印地语)到另一个文本框(英语)。

但是,问题是该工具正在文本框上创建图层,因此,我没有得到任何KeyPress / KeyDown / TextChange事件,直到word未完成并且为所有输入控件而不是特定的单个控件设置了IME模式

是否可以仅为一个文本框设置IME模式?

1 个答案:

答案 0 :(得分:1)

假设您有两个<feature name="DatePicker"> <param name="ios-package" value="DatePicker"/> </feature> <feature name="DatePickerPlugin"> <param name="android-package" value="com.okaybmd.cordova.plugin.datepicker.DatePickerPlugin"/> </feature> 控件,那么仅限英语TextBox只需将其TextBox属性设置为ImeMode

E.g。

Disable

(在我测试 this.textBox2.ImeMode = System.Windows.Forms.ImeMode.Disable; 模式期间,在Visual Studio中通过“属性”窗格设置Form1.Designer.cs时,这已生成Disable

修改 以上测试适用于Windows 10,英语作为我的默认系统语言。

有趣的观察:当我使用Form1 [Design]而不是ImeMode.Off(基于:https://stackoverflow.com/a/2209587/7270462)进行测试时,使用ImeMode.Disable似乎不够防止TextBox接受不同语言的IME文本输入(经过测试的中文和日文输入,这些至少仍然可以输入到文本框中)。最初还是出于好奇而设置了ImeMode.Off,但这也没有达到与ImeMode.NoControl相同的目标。