How do I validate textbox entry for valid date format and discard the input if it is not valid in the key press event?
The simplest approach would just be to create a method that returns a bool and tries to parse the text into a DateTime object. The DateTime.Parse(string) method should work just fine, and if the text is not in the correct format you will catch the exception thrown. Once you have the exception, you can determine how to better direct the user, and help them correctly format the DateTime.
I would also either go with the validation events, or the TextChanged event to try and parse out the text into a DateTime object. You can cache the text before you try and parse it, and roll back the text to the previous if the parsing fails.
Again, there are a hundred different ways to approach this problem, some may be arguably better than others, but most will get you where you want to go.
Dig Deeper on C# programming language