使用TextFieldEntered和TextFieldLeft这一对事件。进入时打开IMEMode,离开时关闭IMEMode。- private void Form1_Load(object sender, EventArgs e)
- {
- Helper.Instance.LoadWord(InitTemplatePath, this.txContent);
- AFC = this.txContent.ApplicationFields;
- DTC = this.txContent.DocumentTargets;
- this.txContent.Tables.GridLines = false;
- SetAppFieldsName();
- InitData();
- this.txContent.ImeMode = System.Windows.Forms.ImeMode.Disable;
- this.txContent.TextFieldEntered += txContent_TextFieldEntered;
- this.txContent.TextFieldLeft += txContent_TextFieldLeft;
- }
复制代码- void txContent_TextFieldLeft(object sender, TextFieldEventArgs e)
- {
- if (e.TextField.Name == "remark")
- {
- this.txContent.ImeMode = System.Windows.Forms.ImeMode.Disable;
- }
- else
- {
- this.txContent.ImeMode = System.Windows.Forms.ImeMode.Disable;
- }
- }
- void txContent_TextFieldEntered(object sender, TextFieldEventArgs e)
- {
- if (e.TextField.Name == "remark")
- {
- this.txContent.ImeMode = System.Windows.Forms.ImeMode.NoControl;
- }
- else
- {
- this.txContent.ImeMode = System.Windows.Forms.ImeMode.Disable;
- }
- }
复制代码 |