Question: Here is my code:

```
private void textBox1_TextChanged(object sender, EventArgs e)
{
     DateTime myDate = DateTime.ParseExact(textBox1.Text, "yyyy-MM-dd H:m:s",
     System.Globalization.CultureInfo.InvariantCulture);

     TimeChangedHandler(myDate);
} 

```

If I delete 1 number from hours then it works fine, but if I delete both numbers e.x. I want to change from 11 to 22 then it crashes. So how do I make the form `"yyyy-MM-dd H:m:s"` work for all cases? Thanks!

Answer: 
If you want to indicate that the date/time is invalid, use `DateTime.TryParseExact` to *check* whether or not it's valid, without throwing an exception. Use the return value (true/false) to determine the validity.

Basically, you shouldn't expect that the value is always valid while the user is editing - just like while I'm editing code, it won't always be syntactically correct.

You need to check that it's valid when you actually *use* the value - and until then, probably just add a visual marker to indicate that it's invalid.

You may want to think about whether your `TimeChangedHandler` (whatever that is) should implicitly fire whenever the date/time provided is valid, or whether your UI should provide a more explicit "use this value" action (e.g. a button).

Also, consider using a `DateTimePicker` as a friendlier way of selecting a date and time.

Finally, I'd personally avoid using a pattern of `H:m:s`... the date part looks like ISO-8601-like, so I'd suggest using `HH:mm:ss` for complete validity - it would be odd (IMO) to see a value of `2015-07-27 7:55:5` for example.
you shouldn't expect that the value is always valid while the user is editing - just like while I'm editing code, it won't always be syntactically correct.

this code need to be placed inside try catch as you want flexible values something like this

```
private void textBox1_TextChanged(object sender, EventArgs e)
{
          try
          {
     DateTime myDate = DateTime.ParseExact(textBox1.Text, "yyyy-MM-dd H:m:s",System.Globalization.CultureInfo.InvariantCulture);
     TimeChangedHandler(myDate);
          }
         catch (Exception ex)
         {}
} 

```

so, it will not explode if user enters incorrect values and consider using a DateTimePicker as a friendlier way of selecting a date and time.