设计并实现Windows数字型文本框控件,方便用户的录入操作。要求该控件从System.Windows.Forms.TextBox继承,扩展的主要属性和功能包括:支持定义最大整数位长度、小数精度、是否允许负值、是否是百分数、是否允许粘贴等属性;并根据这些定义控制用户的录入,保证用户快速有效的录入以及获得正确的数值;

设计者可以按自己的设计方案在实现上述功能的基础上进行扩展;

解决方案 »

  1.   

    我很久以前的一个blog有基本的原理;
    http://blog.csdn.net/FlashElf/archive/2004/10/31/161024.aspx看看吧,不是很难,改改就可以实现你的需求了
    简单的东西不要到处找控件了
    沦为【控件帮】对程序员来说没什么好处;
    不难的东西多动手;
      

  2.   

    VS2005的Numeric控件不是有了码?
    想重新开发 直接继承开发
      

  3.   

    先看看.net中有什么可以继承的
      

  4.   

    判断正数,负数的函数 具体限制思路相同
    using System.Text.RegularExpressions; 
    public bool shuzi(string aa)
    {    
    if(aa!=null && Regex.IsMatch(aa,@"^[-]?\d+[.]?\d*$") && aa[aa.Length-1].ToString()!="." && aa.IndexOf(".")==-1 && aa.IndexOf("-")==-1) 
    return true; 
    else 
    return false; }
    public bool fushuzi(string aa)
    {    
    if(aa!=null && Regex.IsMatch(aa,@"^[-]?\d+[.]?\d*$") && aa[aa.Length-1].ToString()!="." && aa.IndexOf(".")==-1) 
    return true; 
    else 
    return false; }private void button1_Click(object sender, System.EventArgs e)
    { if (Convert.ToDouble(this.textBox1.Text.Trim())<0.1|| Convert.ToDouble(this.textBox1.Text.Trim())>3){MessageBox.Show("输入值超出范围!","提示!"); textBox1.Text="";return;}
    // if(this.textBox1.Text.Trim().Length>3){MessageBox.Show("请输入正确信息!","提示!");textBox1.Text=""; return;} if (shuzi(textBox1.Text.Trim())){ MessageBox.Show("温度上送范围应输入整数字,请重新输入!","提示!"); textBox1.Text="";return;}
    // if (Convert.ToInt32(this.textBox1.Text.Trim())<-30|| Convert.ToInt32(this.textBox1.Text.Trim())>0){MessageBox.Show("输入值超出范围!","提示!"); textBox1.Text="";return;}

    }