Are you restricted to just using a text box? Why not use the right tool for the right job. Use a datepicker.
In any case, watching the keypress will be tough, and you have to think ahead. Which format will they enter the date? January 3rd, 2011? 1/3/11? 01/03/2011?
You can't easily restrict the key presses as they are all over the place with that. IMO, your best bet, short of using a date control, is to allow them free entry, then on lost focus, test that value as such.
Take a look also, at the masked textboxes, if it must look like a text box.
Take a look, finally, at the link below. Its on how to convert the textbox.text (a string) into a date. Note, in all cases, "January 5th, 2011" will fail as a date. Cant convert string to date without parsing it.
http://msdn.microsoft.com/en-us/library/w2sa9yss.aspx