textbox里为什么有些字符不能输入?

时间:2021-11-24 04:28:25
问题很怪,textbox里竟然有些字符不能输入进去,数字只能输入2、4、6、8、0,数字1、3、5、7、9按键失灵输不进去,但你要是往textbox里拷贝数字1、3、5、7、9确没问题。小键盘的数字都没问题,可以输入出去。
而且部分字符按键失灵输入不进去,比如:q、w、y、s、u这些键也按不进去。真是搞了~~~~,谁遇到过这种问题啊~~~,真是无奈.......

18 个解决方案

#1


输入不了的被过滤了,或许是masked或许是用正则过滤的...

#2


textbox加了onkeydown or onkeypress控制输入了吧

#3


键盘是不是进水了
键盘的某个键坏了

#4


第一,键盘是不是有问题
第二,代码是不是有过滤的操作,比如说在keypress或者keydown事件的时候有过滤

#5


你在textbox的KeyPress事件中限制了吧

#6


小键盘的数字都没问题,可以输入出去。 


是不是键盘的问题?

#7


呵呵,估计是你的键盘的问题了,会不会设置了什么按键的工具,比如玩魔兽就有些这样的工具,会屏掉些键

#8


没有过滤输入字符的话,就是键盘有问题

#9


哈,键盘当然没有问题了!要不那些字符我怎么打的。

#10


当然也没有给textbox加任何事件了.........

#11


你在textbox的KeyPress事件中限制了吧

#12


看你的控件属性设置里面是不是过滤了。

#13


textbox加了onkeydown or onkeypress控制输入了

看看textbox有没有 onkeypress="asdf()" 之类的东西

#14


我找到原因了,和textbox没关系,是我用了个函数
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (((Keys.Alt & keyData) == Keys.Alt) || ((Keys.ControlKey & keyData) == Keys.ControlKey))
        return true;
    return base.ProcessCmdKey(ref msg, keyData);
}
这段是把带Alt和Ctrl的组合按键给屏蔽了,但不知道为什么也会把那些不加Alt和Ctrl的键也给屏蔽了,谁能给看看这段代码怎么改才对呢?谢谢!!

#15


是(Keys.ControlKey & keyData) == Keys.ControlKey)这句,它判断为真是,就给屏蔽了。

#16


1.键盘问题
2.正则过滤
3.验证控制

#17


晕,是我打错字了,应该是(Keys.Control & keyData) == Keys.Control),输入时按原点后直接选了系统给提供的单词了,没注意看。
谢谢大家的关心,散分~~~~

#18


  if (((Keys.Alt & keyData) == Keys.Alt) && ((Keys.ControlKey & keyData) == Keys.ControlKey)) 


#1


输入不了的被过滤了,或许是masked或许是用正则过滤的...

#2


textbox加了onkeydown or onkeypress控制输入了吧

#3


键盘是不是进水了
键盘的某个键坏了

#4


第一,键盘是不是有问题
第二,代码是不是有过滤的操作,比如说在keypress或者keydown事件的时候有过滤

#5


你在textbox的KeyPress事件中限制了吧

#6


小键盘的数字都没问题,可以输入出去。 


是不是键盘的问题?

#7


呵呵,估计是你的键盘的问题了,会不会设置了什么按键的工具,比如玩魔兽就有些这样的工具,会屏掉些键

#8


没有过滤输入字符的话,就是键盘有问题

#9


哈,键盘当然没有问题了!要不那些字符我怎么打的。

#10


当然也没有给textbox加任何事件了.........

#11


你在textbox的KeyPress事件中限制了吧

#12


看你的控件属性设置里面是不是过滤了。

#13


textbox加了onkeydown or onkeypress控制输入了

看看textbox有没有 onkeypress="asdf()" 之类的东西

#14


我找到原因了,和textbox没关系,是我用了个函数
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (((Keys.Alt & keyData) == Keys.Alt) || ((Keys.ControlKey & keyData) == Keys.ControlKey))
        return true;
    return base.ProcessCmdKey(ref msg, keyData);
}
这段是把带Alt和Ctrl的组合按键给屏蔽了,但不知道为什么也会把那些不加Alt和Ctrl的键也给屏蔽了,谁能给看看这段代码怎么改才对呢?谢谢!!

#15


是(Keys.ControlKey & keyData) == Keys.ControlKey)这句,它判断为真是,就给屏蔽了。

#16


1.键盘问题
2.正则过滤
3.验证控制

#17


晕,是我打错字了,应该是(Keys.Control & keyData) == Keys.Control),输入时按原点后直接选了系统给提供的单词了,没注意看。
谢谢大家的关心,散分~~~~

#18


  if (((Keys.Alt & keyData) == Keys.Alt) && ((Keys.ControlKey & keyData) == Keys.ControlKey))