vb.net DataGridView控件在切换单元格时会自动切换输入法如何解决

情况是这样的:选定某个单元格但尚未编辑时输入法从英文切换成中文,但是一旦进入编辑,输入法却自动切换成英文,此时要想输入中文只有再次手动切换输入法,当退出编辑时输入法又再次从中文切换成英文。
所以要想编辑中文只有一次次手动切换,烦不胜烦。
我想问问怎样使输入法在手动切换后保持不变图片说明图片说明图片说明

将form的imemode属性设置为on

用微软拼音、王码五笔输入都没有问题,自动进入编辑了。

否则试试:
//要不就用
this.dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;

以下参考 DataGridViewEditMode枚举值的意思
成员名称 说明
EditOnEnter 当单元格接收到焦点时即可开始编辑。在按 Tab 键在行中横向输入值,或按 Enter 键在列中纵向输入值时,此模式非常有用。

EditOnF2 当单元格获得焦点时按 F2 开始编辑。此模式将选择点放置在单元格内容的末尾。

EditOnKeystroke 当单元格获得焦点时按任意字母数字键开始编辑。

EditOnKeystrokeOrF2 当单元格获得焦点时按任意字母数字键或 F2 开始编辑。

EditProgrammatically 仅在调用 BeginEdit 方法时开始编辑。

试试看

 foreach (InputLanguage iL in InputLanguage.InstalledInputLanguages)
            {
                if (iL.LayoutName == "智能ABC") //或者某种输入法
                {
                    InputLanguage.CurrentInputLanguage = iL;
                    break;
                }
            }