很简单的。
重写TextBox的OnKeyPress事件,控制字符的输入。e.Handled为真的时候不接受输入。
这是我写的源代码,你可以参考下。   bool bFlag = true;
   if (Char.IsDigit(e.KeyChar) && this.Text.IndexOf(e.KeyChar)-this.Text.IndexOf(".")<=2 )
//只允许输入数字,并且当数字在小数点后时不能超出2位的长度
bFlag = false;
   else if (e.KeyChar=='.' && this.Text.IndexOf(".")<0 )
   {//只允许有一个小数点
bFlag = false;
   }
   else if (e.KeyChar==('-') && this.Text.IndexOf('-')<0 && this.SelectionStart==0)
//只允许有一个负号并且在开始的第一个位置
        {bFlag = false;}  e.Handled = bFlag;(最后不要忘记将所得的字符串转成数值型哦)(各位兄弟也可以采用其中的思想来实现自己的输入控制方式。)