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事件中。
|
|