c# 对大量textbox控件或其它控件设置只能输入数字

我要用到很多只能输入数字的控件,有人告诉我可以用MaskedTextBox控件,但是它却有一个缺点,就是一定要有一个PromptChar属性设置它的占位符,这样很难看;还有人告诉我用numericUpDown控件,但是它却又有一个Up-Down控件,也不好。
如果还是用textbox控件,那就只能写个方法:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (Convert.ToInt32(e.KeyChar) < 48 || Convert.ToInt32(e.KeyChar) > 97)
{
e.Handled = true;
}
}
其他的TextBox的KeyPress事件也一样绑到这个方法上。
请问这里其他的TextBox如何绑到这个方法上,请给出具体的代码,谢谢!
如果用别的控件,该如何解决我所说的问题呢?

在Page_Load里给所有的TextBox添加下面代码
TextBox1.Attributes.Add("onkeyup", "check(this)");
TextBox2.Attributes.Add("onkeyup", "check(this)");

在页面里的javascript块里添加check()方法
check(e)
{
if(e.value.replace(/\d*/,"")=="")//匹配整数(int)的正则表达式
return e.value;
else return "";
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-11-30
重新写一个 类就可以了
在调用这个类就可以了
以后如果要用到这个
直接调用就可以了
第2个回答  2008-11-30
从textbox继承出来一个新的类不就行了
相似回答