首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于VS2010让多个textbox只能输入数字的有关问题

2013-11-29 
关于VS2010让多个textbox只能输入数字的问题在下的代码如下 //定义只能输入数字的textboxprivate void tbt

关于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);
        }


热点排行