C#的TextBox控件输入测试

只允许输入数字的测试:

代码如下: (VS2005)

       public TextBoxInputCheck(object sender, KeyPressEventArgs e,INPUTTYPE type)
       ...{
            if(type == INPUTTYPE.INT)
            ...{
                string pattern = @"^[0-9]";
                Regex reg = new Regex(pattern);
                if ((!reg.Match(e.KeyChar.ToString()).Success) && (e.KeyChar.ToString() != ""))
                ...{
                    e.Handled = true;
                }
            }
            else if(type == INPUTTYPE.FLT)
            ...{
                string pattern = @"^[0-9]|.$";
                Regex reg = new Regex(pattern);
                if ((!reg.Match(e.KeyChar.ToString()).Success) && (e.KeyChar.ToString() != ""))
                ...{
                    e.Handled = true;
                }
                else if (e.KeyChar.ToString() == "." && (sender as TextBox).Text.IndexOf('.') > 0)
                ...{
                    e.Handled = true;
                }
            }    
        }