关于输入法全角的问题
如图:MultiRow控件的单元格,在输入时输入法被强制设成了全角。
当手工设成半角,再点一下单元格,也会变成全角。
.net的TextBox控件也存在这个问题,但可以在Form_Load里写这个解决。
if (!DesignMode)
{
this.ImeMode = ImeMode.OnHalf;
}
但MultiRow控件为何无效呢,该怎么解决这个问题呢? 请尝试以下代码看是否可以解决你遇到的问题。
this.gcMultiRow1.DefaultCellStyle.ImeMode = ImeMode.OnHalf;
如果不能解决的话请回帖提供以下信息:
1. 你在贴子中提到“在输入时输入法被强制设成了全角”,这里的“强制设成全角”是怎么做的?是什么情况下被强制设成全角的?
2. 你使用的输入法什么什么输入法?
谢谢 1、强制设成全角是指:
(1)当定位在单位格时,从英文状态切换成中文输入法时,输入法状态会自动变成全角。
(2)此时输入法状态再改成全角,再输入文字,第1个是半角,第2个之后的字符就变成全角了。
(3)输入法状态改成全角,再点其他的单元格,又变成全角状态。
this.gcMultiRow1.DefaultCellStyle.ImeMode = ImeMode.OnHalf;
这个只解决了问题(3),(1)(2)还是无法解决
2、输入法是搜狗五笔,搜狗拼音也是这个问题
请再看一下,谢谢! 你好,我已经可以重现你提到的问题了。
我需要花一些时间调查一下问题,如果有解决方案我会第一时回帖,请耐心等待一下。 pcsky你好:
请尝试把需要输入数字或英文的Cell的Style.ImeMode属性设置成Off,看是否能满足你的需求。
这个在一定程度上解决了问题,但只适用于输入数字和英文的单元格。
如果是中英文混合的就有问题了,如输入“中山路100号”。
具体操作:点一个“英”,切换成中文状态,输入后就变成了“中山路100号”。
不知能否完美解决呢?谢谢! pcsky你好:
不好意思,对于中文输入法会自动变成全角的问题,目前没有找到完美的解决方案。 Spread Windows Forms .NET 控件就无这个问题 (版本:SP3版本 2012.03.28更新)
最近发现:
if (!DesignMode)
{
this.ImeMode = ImeMode.OnHalf;
}
这段代码可以不用了,用了DataGridView就会出现这种全角问题,.net自带的TextBox控件正常。
不写以后,DataGridView就正常了。MultiRow问题依旧。
这个能在以后的版本后修正这个bug吗(从系统的底层方面:GrapeCity.Win.MultiRow.dll)? 或许把TextBoxCell类改成从Control继承就可以解决问题了吧。 现在用手工转换的方法解决了。
http://hi.baidu.com/mycolorwind/blog/item/52a94d1b07187bfcaf513338.html
页:
[1]
2