输入法半角状态无法输入数字的问题
protected override bool ProcessCmdKey(ref Message msg, Keys keyData){
int ch = (int)keyData;
if ((ch >= 48 && ch <= 57) || (keyData >= Keys.NumPad0 && keyData <= Keys.NumPad9) || ch == 189 || ch == 190 || ch == 8 || ch == 46) //数字
{
return false;
}
else
{
return true;
}
}
以上只能在英文输入法状态才能输入,在智能ABC中文状态下,不管是全角还是半角都不能正常输入字符。(搜狗五笔或拼音又可以) --------------------编程问答-------------------- 我觉得更好的方法是直接禁用IME,你的功能中需要打开输入法吗? --------------------编程问答-------------------- 你要自定义文本框?
样式控制下
css{ ime-mode:disabled;}
这样只能输入数字和字母 --------------------编程问答-------------------- 这样输入发都打不开了 --------------------编程问答-------------------- 是一个录入窗体,数值型的指标要限制只能录入数字,尝试过ImeMode.Off,Close或是Disable、OnHalf都不行。 --------------------编程问答-------------------- 我的环境:Win 7 x64,vs 2008,程序应用为framework 2.0 --------------------编程问答-------------------- 抱歉,我的是winform --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 而且为什么在
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
}中,拼音ABC输入法输入的keyData都是229呢
补充:.NET技术 , C#