You're contradicting yourself there. You say that you want typing to start after the period but your examples clearly shows it before. Fortunately, this is simple enough for us to understand despite that but in other cases that may not be the case. If you can't explain your requirements clearly then you're unlikely to get what you require.
Anyway, you obviously want to display a number with two decimal places. First up, can the field be blank? What to do if the user doesn't want to enter a value? Would that be ".00", "0.00" or just ""? Anyway, you should not try to display the decimal places while the user is typing. That will just severly complicate matters. You should:
1. Handle the Enter event of the control. If the control is not empty, convert the contents to a number and then back to a String, using "n0" or "f0" as the format string.
2. Handle the Validating event of the control. Validate the contents using the TryParse method of your preferred numeric type and cancel the event if it fails.
3. Handle the Validated event of the control. If the control is not empty, convert the contents to a number and then back to a String, using "n2" or "f2" as the format string.