I have always found it easier to use a numericUpDown control. After all this can also act as a text box control. Just set the some properties properly and there you go. Without writing any code, you have a numeric textbox.

Also take a look at this article on MSDN
http://msdn.microsoft.com/en-us/library/ms229644.aspx