关于VS2010让多个textbox只能输入数字的问题
在下的代码如下
//定义只能输入数字的textbox
private void tbtime_KeyPress(object sender, KeyPressEventArgs e)
{
//判断按键是不是要输入的类型。
if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8 && (int)e.KeyChar != 46)
e.Handled = true;
//小数点的处理。
if ((int)e.KeyChar == 46) //小数点
{
if (this.Text.Length <= 0)
e.Handled = true; //小数点不能在第一位
}
}
我的目标是让这个Form下的另外10个textbox也受到限制,只能输入数字,所以这样编码
//定义只能输入数字
private void onlynumber(object sender, KeyPressEventArgs e)
{
//判断按键是不是要输入的类型。
if (((int)e.KeyChar < 48 || (int)e.KeyChar > 57) && (int)e.KeyChar != 8 && (int)e.KeyChar != 46)
e.Handled = true;
//小数点的处理。
if ((int)e.KeyChar == 46) //小数点
{
if (this.Text.Length <= 0)
e.Handled = true; //小数点不能在第一位
}
}
//定义只能输入数字的textbox
private void tbtime_KeyPress(object sender, KeyPressEventArgs e)
{
onlynumber();
}
出现错误:方法没有任何重载采用“0”个参数(在下面调用onlynumber那里)
估计是在下知识不足,造成了些错误,请问应该如何修改? VS2010?控件
[解决办法]
//定义只能输入数字的textbox
private void tbtime_KeyPress(object sender, KeyPressEventArgs e)
{
onlynumber(sender,e);
}
[解决办法]
你定义onlynumber的时候是有参数的,但是调用的时候却是没有参数,所以出现了这种错误
onlynumber(sender,e);这样调用
[解决办法]
还有一个问题
this.Text.Length这个地方应该错了,应该是判断textbox的文本长度。
//定义只能输入数字
private void onlynumber(object sender, KeyPressEventArgs e)
{
TextBox txt = (TextBox)object;
//判断按键是不是要输入的类型。
if (((int)e.KeyChar < 48
[解决办法]
(int)e.KeyChar > 57) && (int)e.KeyChar != 8 && (int)e.KeyChar != 46)
e.Handled = true;
//小数点的处理。
if ((int)e.KeyChar == 46) //小数点
{
if (txt.Text.Length <= 0)
e.Handled = true; //小数点不能在第一位
}
}
//定义只能输入数字的textbox
private void tbtime_KeyPress(object sender, KeyPressEventArgs e)
{
onlynumber(sender,e);
}