欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

怎样让textbox只能输入数值或科学小数?解决方法

更新时间: 2014-05-17 13:39:13 责任编辑: Author_N7

 

怎样让TextBox只能输入数值或科学小数?
如题。只能输入数字、小数点、正负号、或科学计数法的数值

--参考方法--
Text Box for Currency in VB.NET 2010

VB.NET 和 C# 语法其实没有本质上的差别,你参考一下,主要是看其核心方法的重载。
--参考方法--
在TextChanged事件里面判断:
double d = 0.0;
if (!Double.TryParse(textBox1.Text, out d))
MessageBox.Show("不是数字");
--参考方法--
keypress中过滤或用正则表达式限制
--参考方法--
楼上如何删除呢 textchanged事件出发时 值已经变了 如果是 输入法输入很多汉字怎么办
--参考方法--
可以用正则表达式吧?
--参考方法--
试试这个吧:
private void tbxCount_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 8 || Char.IsDigit(e.KeyChar))
{
e.Handled = false;
}
else
{
e.Handled = true;
}
}

--参考方法--
C# code

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            Regex r = new Regex("^[0-9]{1,}$");
            if (!r.IsMatch(textBox1.Text))
            {
                MessageBox.Show("请输入数字");
            }
        }

--参考方法--
探讨

在TextChanged事件里面判断:
double d = 0.0;
if (!Double.TryParse(textBox1.Text, out d))
MessageBox.Show("不是数字");

--参考方法--
winform的话
可以考虑:NumericUpDown 
http://www.csharpwin.com/csharpresource/1623.shtml
或者

参考这个:
http://www.evget.com/zh-CN/Info/catalog/15539.html

希望对你有帮助
--参考方法--
探讨
引用:

在TextChanged事件里面判断:
double d = 0.0;
if (!Double.TryParse(textBox1.Text, out d))
MessageBox.Show("不是数字");


楼主想直接屏蔽除数字以外的字符输入,textchanged 事件是马后炮通知而已,无效的,无法在楼主输入字符的时候将其屏蔽掉。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-05-17 13:39:13
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/801473/
本文WWW.DOC100.NET DOC100.NET版权所有。