我正在为政府开发申请,用户将用英语输入文本,翻译的文本将出现在另一个文本框中。
翻译我使用的文字Microsoft Indic Language Input Tool。
所以,当我在一个文本框中输入文本时,我想要将文本翻译(印地语)到另一个文本框(英语)。
但是,问题是该工具正在文本框上创建图层,因此,我没有得到任何KeyPress / KeyDown / TextChange事件,直到word未完成并且为所有输入控件而不是特定的单个控件设置了IME模式
是否可以仅为一个文本框设置IME模式?
答案 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
相同的目标。