这一段代码是什么意思?
我试过了,只能在文本框内输入数字和退格键
我就想问问怎么实现这个功能的private void txtLucre_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
e.Handled=e.KeyChar < '0' || e.KeyChar > '9';
if(e.KeyChar==(char)18)
{
e.Handled=false;
}
}
我试过了,只能在文本框内输入数字和退格键
我就想问问怎么实现这个功能的private void txtLucre_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
e.Handled=e.KeyChar < '0' || e.KeyChar > '9';
if(e.KeyChar==(char)18)
{
e.Handled=false;
}
}
handled它接收键盘输入,如果为true,它就不接受键盘输入的内容,
if(e.KeyChar==(char)18)这句表示如果输入的是空格,它就将Handled设置为false;
接受键盘内容。
具体的内容你用.net的帮助查一下,
//如果输入的在0~9范围内,则返回True,即e.Handle=true;表示对该输入事件进行处理,即接受;
//反之,输入在此范围之外,则返回False,不处理,即不接受...
只能在文本框内输入数字和退格键楼主搞错了吧,它应该不会接受退格键的..因为:if(e.KeyChar==(char)18)
{
e.Handled=false;
}
即假如输入为退格键的话,也是不接收的啊....
if (e.KeyChar ==(char ) Keys .Back )//不是18
{
e.Handled = false;
}
//如果输入的在0~9范围内,则返回false,即e.Handle=false;表示对该输入事件进行处理,即接受;
//反之,输入在此范围之外,则返回true,不处理,即不接受...
if(e.KeyChar==(char)18)
{
e.Handled=false;
}
//如果真如你所说,那么应该改下,即:
if(e.KeyChar==(char)8)或者if(e.KeyChar==(char)Keys .Back)意思就是说,当输入的是键是退格键的时候,e.Handled=false;表示接受...
//如果输入的在0~9范围内,则返回false,即e.Handle=false;表示对该输入事件进行处理,即接受;
//反之,输入在此范围之外,则返回true,不处理,即不接受...
if(e.KeyChar==(char)18)
{
e.Handled=false;
}
//如果真如你所说,那么应该改下,即:
if(e.KeyChar==(char)8)或者if(e.KeyChar==(char)Keys .Back)意思就是说,当输入的是键是退格键的时候,e.Handled=false;表示接受...
e.Handled为false的时候表示可以接受该事件
e.KeyChar<'0' || e.KeyChar>'9' 在输入为数字的时候返回false,其它就返回true