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

解决方案 »

  1.   

    Text Box for Currency in VB.NET 2010VB.NET 和 C# 语法其实没有本质上的差别,你参考一下,主要是看其核心方法的重载。
      

  2.   

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

  3.   

    keypress中过滤或用正则表达式限制
      

  4.   

    楼上如何删除呢 textchanged事件出发时 值已经变了 如果是 输入法输入很多汉字怎么办
      

  5.   

    试试这个吧:
    private void tbxCount_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (e.KeyChar == 8 || Char.IsDigit(e.KeyChar))
                {
                    e.Handled = false;
                }
                else
                {
                    e.Handled = true;
                }
            }
      

  6.   


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

  7.   


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

  8.   

    winform的话
    可以考虑:NumericUpDown 
    http://www.csharpwin.com/csharpresource/1623.shtml
    或者参考这个:
    http://www.evget.com/zh-CN/Info/catalog/15539.html希望对你有帮助
      

  9.   


    对,就是想屏蔽除了数字、小数点、正负号和科学计数法e以外的其他字符。
    期望结果可以输入:-1234
    1.234567
    1.2E-15
    等,其他格式都屏蔽掉。最重要的是可以输入类似1.2E-15这样的科学计数法
      

  10.   


    可以写在Validating事件里面。