这一段代码是什么意思?
我试过了,只能在文本框内输入数字和退格键
我就想问问怎么实现这个功能的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;
}
}

解决方案 »

  1.   


    handled它接收键盘输入,如果为true,它就不接受键盘输入的内容,
    if(e.KeyChar==(char)18)这句表示如果输入的是空格,它就将Handled设置为false;
    接受键盘内容。
    具体的内容你用.net的帮助查一下,
      

  2.   

    先说明一下:Handled  获取或设置一个值,该值指示是否处理过 KeyPress 事件 ,KeyChar  获取或设置与按下的键对应的字符
      

  3.   

    不好意思,打错了一个,  if(e.KeyChar==(char)18)这句表示如果输入的是退格
      

  4.   

    e.Handled=e.KeyChar < '0' || e.KeyChar > '9';
    //如果输入的在0~9范围内,则返回True,即e.Handle=true;表示对该输入事件进行处理,即接受;
    //反之,输入在此范围之外,则返回False,不处理,即不接受...
      

  5.   

    TO:
    只能在文本框内输入数字和退格键楼主搞错了吧,它应该不会接受退格键的..因为:if(e.KeyChar==(char)18)
    {
    e.Handled=false;
    }
    即假如输入为退格键的话,也是不接收的啊....
      

  6.   

    楼主这样改下:
                if (e.KeyChar ==(char ) Keys .Back  )//不是18
                {
                    e.Handled = false;
                }
      

  7.   

    不好意思,正好写反了,正解如下:e.Handled=e.KeyChar < '0' || e.KeyChar > '9';
    //如果输入的在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;表示接受...
      

  8.   

    不好意思,正好写反了,正解如下:e.Handled=e.KeyChar < '0' || e.KeyChar > '9';
    //如果输入的在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;表示接受...
      

  9.   

    先Mark一下希望各位总结出一个正确的结论谢谢
      

  10.   

    liujia_0421() 最后说的应该是对的
    e.Handled为false的时候表示可以接受该事件
    e.KeyChar<'0' || e.KeyChar>'9' 在输入为数字的时候返回false,其它就返回true
      

  11.   

    e.Handled = true;//为true时表示已经处理了事件(即不处理当前键盘事件)