能不能自制一个只能录入数字的文本框控件

解决方案 »

  1.   

    所用控件绑定同一个keydown事件就可以了吧
      

  2.   

    private string strtextbox1 = string.Empty;
    private static  System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex("^[0-9]{1,}$");   //这个可以写成静态的,就不用老是构造
    private void textBox1_TextChanged(object sender, System.EventArgs e)
    {
    if(r.IsMatch(textBox1.Text) || this.textBox1.Text == string.Empty)
    {
    strtextbox1 = this.textBox1.Text;
    }
    else
    {
    this.textBox1.Text = this.strtextbox1;
    textBox1.SelectionStart= textBox1.TextLength;
    //System.Windows.Forms.MessageBox.Show("请输入数字");
    }
    }
      

  3.   

    用js写一个通用的方法,然后在每个文本的onblur事件中调用即可.
      

  4.   

    在textbox里加下面的就ok了 onpaste="return false" style="ime-mode:disabled" onkeypress="if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;"
      

  5.   

    <input type=text onkeydown="if((event.keyCode < 48 || event.keyCode > 57) && event.keyCode !=8) event.returnValue = false;">
      

  6.   

    youbl(水边)写的,用ctrl+v就可以跳过去
      

  7.   

    jolinkyo()
    那可以再加上onpaste事件,或onchange事件