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

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

3个回答

将form的imemode属性设置为on

yjc981983427
喵太狼 我下了个搜狗输入法并将form的imemode属性设置为on,DataGridView的imemode属性设置为inherit就可以了,看来还是和输入法有关
3 年多之前 回复
yjc981983427
喵太狼 我用的win10自带输入法,这样设置完全不行,连输入切换都切换不了
3 年多之前 回复

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

否则试试:
//要不就用
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;
                }
            }
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问