俞长栋数据:确保文本框只能输入数字

来源:百度文库 编辑:偶看新闻 时间:2024/05/02 08:55:12
1、在form1中输入如下代码
        private string numberParam = String.Empty;//初始化变量        private string charParam = String.Empty;        private string floatParam = String.Empty;        //设定         private void initRegCheckValue(object sender, EventArgs e)           {               numberParam = charParam = floatParam = "";           }        private void getRegCheckValue(object sender, EventArgs e)          {           }        private void checkNumberInput(object sender, EventArgs e)     //检查数字输入        {            ((System.Windows.Forms.TextBox)(sender)).Enter += new System.EventHandler(this.getRegCheckValue);            ((System.Windows.Forms.TextBox)(sender)).Leave += new System.EventHandler(this.initRegCheckValue);            string text = ((System.Windows.Forms.TextBox)(sender)).Text;            string pattern = @"^[0-9]*$";            if (text == "")            {                numberParam = text;                return;            }            Match m = Regex.Match(text, pattern);   // 匹配正则表达式            if (!m.Success)   // 输入的不是数字            {                ((System.Windows.Forms.TextBox)(sender)).Text = numberParam;   // textBox内容不变                // 将光标定位到文本框的最后                ((System.Windows.Forms.TextBox)(sender)).SelectionStart = ((System.Windows.Forms.TextBox)(sender)).Text.Length;            }            else   // 输入的是数字            {                numberParam = ((System.Windows.Forms.TextBox)(sender)).Text;   // 将现在textBox的值保存下来            }      }
2、将checkNumberInput事件关联到textBox的textchanged事件中。